导入“firebase/app”模块未找到:错误:默认条件应该是最后一个

问题描述 投票:0回答:3

嗨,我从 webpack 和 firebase 开始。每次当我这样做时:

import { initializeApp } from "firebase/app";

这是错误:

文件结构:

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>WElcome</title>
    <script src="./main.js"></script>
</head>
<body>
    Welcome
</body>
</html>

index.js:

import { initializeApp } from "firebase/app";

package.json:

{
  "name": "dark",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack --mode development"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^5.75.0",
    "webpack-cli": "^5.0.1"
  },
  "dependencies": {
    "firebase": "^9.17.0"
  }
}

我已经尝试重新做一遍,但我在这个文件夹中使用 npm i firebase 安装了 firebase,并且总是给我同样的错误。我缺少什么?

javascript node.js firebase webpack webpack-dev-server
3个回答
3
投票

这是一个非常复杂的问题,可能

firebase v- 9.17.0
有问题,或者您尝试导入的模块有不同的外壳或
webpack.config.js
。问题 但现在你可以运行。

    npm un firebase
    npm i [email protected]

经过更多考虑,我发现了另外两个解决方案: 1 您可以使用 /compact 导入

import 'firebase/compat/analytics';

import firebase from 'firebase/compat/app';

import 'firebase/compat/auth';

import 'firebase/compat/firestore';

或者,使用最新版本:

Version `9.17.1 - February 3, 2023`

exports.default fields
移动到始终是最后一个字段。这修复了
9.17.0
中引入的错误,该错误阻止了某些捆绑器和框架的构建。对于这些构建失败,错误文本为:“默认条件应该是最后一个”。

参考:https://firebase.google.com/support/release-notes/js


0
投票

根据 firebase 文档:将导入更新为 v9 兼容。为了在将依赖项从 v8 更新到 v9 beta 后保持代码正常运行,请更改导入语句以使用每个导入的“compat”版本。例如:

之前:版本 8

import firebase from 'firebase/app';
import 'firebase/auth';
import 'firebase/firestore';
import "firebase/database";
import "firebase/storage";

之后:版本 9 compat // v9 compat 软件包与 v8 代码的 API 兼容

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';
import "firebase/compat/database";
import "firebase/compat/storage";

参考:https://stackoverflow.com/a/72186925


0
投票

请尝试以下操作:导入 firebase 来自“firebase/compat/app”; firebase": "^10.7.2,

© www.soinside.com 2019 - 2024. All rights reserved.