繁体   English   中英

找不到模块:错误:Package 路径。 不从 package 导出

[英]Module not found: Error: Package path . is not exported from package

import firebase from 'firebase'
 
const firebaseConfig = {
  apiKey: "AIzaSyBOK7x5N5UnjY4TDqndzH7l5tvdNIsWFRc",
  authDomain: "todo-app-e3cf0.firebaseapp.com",
  projectId: "todo-app-e3cf0",
  storageBucket: "todo-app-e3cf0.appspot.com",
  messagingSenderId: "940016886081",
  appId: "1:940016886081:web:91686613f16b1b1f8001c0",
  measurementId: "G-JHPC7TP12K"
};
  
const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebase.firestore();
  
export default db;

找不到错误模块:错误:Package 路径。 没有从 package C:\Users\Sairam\Visual Code\todo-list\node_modules\firebase 导出(参见 C:\Users\Sairam\Visual Code\todo-list\node_modules\firebase\package.json 中的导出字段)你是说'./firebase'?

我相信 firebase 最近有很多更新,所以你应该以这种方式更新导入,它的工作就像一个魅力。

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';

const firebaseConfig = {
  apiKey: "AIzaSyBOK7x5N5UnjY4TDqndzH7l5tvdNIsWFRc",
  authDomain: "todo-app-e3cf0.firebaseapp.com",
  projectId: "todo-app-e3cf0",
  storageBucket: "todo-app-e3cf0.appspot.com",
  messagingSenderId: "940016886081",
  appId: "1:940016886081:web:91686613f16b1b1f8001c0",
  measurementId: "G-JHPC7TP12K"
};

// Use this to initialize the firebase App
const firebaseApp = firebase.initializeApp(firebaseConfig);

// Use these for db & auth
const db = firebaseApp.firestore();
const auth = firebase.auth();

export { auth, db };

您应该像下面这样导入。 我从 firebase 文档中看到了这一点: https://www.npmjs.com/package/firebase

import { initializeApp } from "firebase/app";
import { getFirestore } from 'firebase/firestore/lite';

const firebaseConfig = {
  apiKey: "AIzaSyBOK7x5N5UnjY4TDqndzH7l5tvdNIsWFRc",
  authDomain: "todo-app-e3cf0.firebaseapp.com",
  projectId: "todo-app-e3cf0",
  storageBucket: "todo-app-e3cf0.appspot.com",
  messagingSenderId: "940016886081",
  appId: "1:940016886081:web:91686613f16b1b1f8001c0",
  measurementId: "G-JHPC7TP12K"
};

const firebaseApp = initializeApp(firebaseConfig);
const db = getFirestore(firebaseApp);

export default db;

如果您使用电子反应样板,在webpack.config.renderer.dev.dll.ts中,从入口点删除 firebase。 例如:

  entry: {
    renderer: Object.keys(dependencies || {}).filter((it) => it !== 'firebase'),
  },

在您的 Firebase 配置文件中,设置 Firebase 如下:

import firebase from 'firebase/compat/app';
import 'firebase/compat/firestore';
import 'firebase/compat/auth';

// Your web app's Firebase configuration
const config = {
  //your config json file
};


firebase.initializeApp(config);

export const firestore = firebase.firestore();


export default firebase;

在related.js 脚本中导入 Firestore 和 Firebase 如下:

import {firestore as db}  from './firebase-config' 
import firebase from './firebase-config';

你在const db = firebase.firestore();

它应该是const db = firebaseApp.firestore();

即使这样做,您也会收到找不到模块的错误。 您需要按以下方式导入

import firebase from 'firebase/compat/app';

import 'firebase/compat/firestore';

这对我有用,因为我有同样的问题!

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';

欲了解更多信息:- https://www.npmjs.com/package/firebase

它的工作谢谢

我注意到我正在将我的 firebase.ts 配置文件作为import db from "firebase" (绝对导入)

这里的问题是 webpack 是从 node_modules 引用"firebase" ,而不是从我的 firebase.ts 引用。 这就是它抛出该错误的原因。

我通过将我的 firebase 配置作为import db from "../../firebase"修复它,并且有效

也许我在使用 webpack 时遇到了同样的问题。 我通过设置webpack/configuration/resolve/#resolveconditionnames解决了这个问题

与 v-9.8.2 中一样。 这是文档链接

 import { initializeApp } from "firebase/app"; import { getAuth } from "firebase/auth"; import { getStorage } from "firebase/storage"; import { getFirestore } from "firebase/firestore"; import { getDatabase } from "firebase/database"; const firebaseConfig = {}; // Initialize Firebase const app = initializeApp(firebaseConfig); export const firebaseAuth = getAuth(app); export const fbDatabase = getDatabase(app); export const fStore = getFirestore(app); export const fStorage = getStorage(app);

它不起作用,因为您在升级的 Firebase 版本 9 中使用 Firebase 版本 8 代码,所以如果您想解决您的问题,您应该使用以下代码安装 Firebase 版本:

npm i firebase@8.2.3

目前Firebase提供Web SDK两种变体。 因此,请确保您使用的是正确版本的 firebase 库。 版本 9 firebase 库被安排为独立库。 您的语法使用 firebase 版本 8。 版本 8 版本 9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM