Google Firebase函数教程部署报错Unexpected token =>解决方案问询
报错原因
这个报错是ESLint语法校验不识别异步箭头函数导致的,核心原因有两个:
- 当前ESLint配置仅启用了ES6(ES2015)语法支持,但是代码里用到的
async/await属于ES2017(ES8)新增的语法特性,低版本语法规则无法识别该写法,就会把后面的箭头函数标记为非法的意外符号。 - 若本地Node.js版本或Firebase Functions指定的运行时版本低于8.0.0,也会原生不支持async/await语法触发该报错。
解决步骤
- 第一步:修改你的
.eslintrc.js配置,升级支持的ECMAScript版本,修改后的配置如下:
module.exports = { root: true, env: { es2017: true, node: true, }, parserOptions: { ecmaVersion: 2020 }, extends: [ "eslint:recommended", "google", ], rules: { quotes: ["error", "double"], }, };
- 第二步:检查
functions目录下的package.json文件,添加或修改运行时配置,指定符合要求的Node.js版本(Firebase当前支持16、18、20三个LTS版本):
{ "name": "functions", "engines": { "node": "18" }, // 其余原有配置保持不变 }
- 第三步:在
functions目录下执行依赖更新命令,确保核心依赖版本匹配:npm install firebase-functions@latest firebase-admin@latest --save - 第四步:重新执行部署命令即可:
firebase deploy --only functions
内容的提问来源于stack exchange,提问作者TBolton
相关产品推荐
相关产品推荐

