Firebase Functions配合Express.js加async报eslint错误无法部署
报错原因
该报错是项目ESLint配置未启用ES2017及更高版本语法支持,解析器无法识别async修饰的箭头函数语法导致的,你的代码本身语法没有问题。
解决方案
- 调整ESLint配置
找到项目根目录下的.eslintrc、.eslintrc.json或.eslintrc.js配置文件,修改parserOptions配置项,将ECMAScript版本指定为2017及以上:{ "parserOptions": { "ecmaVersion": 2017, "sourceType": "module" } } - 适配云函数运行环境(针对Firebase云函数场景)
从你的代码判断属于Firebase云函数项目,需要在functions目录下的package.json中指定适配的Node.js版本,14及以上版本都原生支持async/await语法:{ "engines": { "node": "16" } } - 升级ESLint依赖(可选,修改配置后仍报错时执行)
在项目根目录(Firebase项目在functions目录下)执行命令升级ESLint到最新版本:npm install eslint@latest --save-dev
修改完成后重新执行ESLint检查或本地启动服务验证,报错即可消失,可正常部署。
内容的提问来源于stack exchange,提问作者Dijiflex
相关产品推荐
相关产品推荐

