使用import命令报Unexpected token错误,首次配置Firebase与Firestore SDK9失败
报错原因
这个报错的核心是当前JavaScript运行环境不支持ES6模块化的解构导入语法,误将你写的静态导入语句识别成了动态import()函数调用,因此抛出「需要恰好一个参数」的提示。
可用解决方案
- 方案1:CommonJS环境适配
如果你的项目使用CommonJS规范(如未做特殊配置的Node.js项目),直接替换导入写法即可:
const { initializeApp } = require("firebase/app");
- 方案2:浏览器原生环境适配
如果是在浏览器端直接引入JS文件,给引入JS的script标签添加type="module"属性即可开启ES模块支持:
<script type="module" src="你的业务JS文件路径"></script>
如果没有使用打包工具,直接使用Firebase官方提供的ES模块CDN资源导入即可,不需要本地安装SDK。
- 方案3:打包项目配置适配
如果使用vite、webpack等打包工具构建项目:- Node.js环境下在package.json中添加
"type": "module"字段,标识项目使用ES模块化规范 - 检查打包工具配置,确认已开启ES模块转换支持
- 若Node.js版本低于14.13.0,建议升级到LTS版本,旧版Node.js原生不支持ES模块化导入
- Node.js环境下在package.json中添加
内容的提问来源于stack exchange,提问作者Ian Barber
相关产品推荐
相关产品推荐

