繁体   English   中英

部署 firebase 函数时出现 Eslint 错误

[英]Eslint error when deploying firebase functions

我已经设置并表达服务器以在 firebase 云功能上运行。 现在,我正在尝试使用“firebase deploy --only 功能”通过 CLI 将它部署到 firebase,但每次都失败,说有一个意外的令牌。 我怀疑在 index.js 文件中使用异步箭头函数存在问题,但我不确定,我的项目也需要它们。

这是 index.js 文件:

 const functions = require("firebase-functions"); const express = require("express"); const cors = require("cors"); const { response } = require("express"); const stripe = require("stripe")('superlongtestkey') //app config const app = express(); //middleware app.use(cors({ origin: true})); app.use(express.json()); //api route app.post("/payments/create", async (request, response) => { const total = request.query.total; const paymentIntent = await stripe.paymentIntents.create({ amount: total, currency: "usd" }); response.status(201).send({ clientSecret: paymentIntent.client_secret, }); });

这是我尝试运行 firebase deploy --only 函数时遇到的错误:

=== 正在部署到“homunculus-ad003”...

我部署功能运行命令: npm --prefix "$RESOURCE_DIR" run lint

函数@ lint C:................\\Repos\\github\\amazonhomunculus\\functions eslint 。

C:................\\Repos\\github\\amazonhomunculus\\functions\\index.js
17:56 错误解析错误:意外令牌 =>

✖ 1个问题(1个错误,0个警告)

npm 错误! 代码 ELIFECYCLE npm ERR! 错误号 1 npm 错误号! 功能@皮棉: eslint . npm 错误! 退出状态 1 npm ERR! npm 错误! 在functions@ lint 脚本中失败。 npm 错误! 这可能不是 npm 的问题。 上面可能有额外的日志输出。

npm 错误! 可以在以下位置找到此运行的完整日志:npm ERR!
C:................\\AppData\\Roaming\\npm-cache_logs\\2021-07-16T12_20_21_809Z-debug.log events.js:291 throw er; // 未处理的“错误”事件 ^

错误: spawn npm --prefix "%RESOURCE_DIR%" run lint ENOENT at notFoundError (C:................\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\node_modules\\cross -env\\node_modules\\cross-spawn\\lib\\enoent.js:6:26)

 at verifyENOENT (C:\\..............\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\node_modules\\cross-env\\node_modules\\cross-spawn\\lib\\enoent.js:40:16) at ChildProcess.cp.emit (C:\\..............\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\node_modules\\cross-env\\node_modules\\cross-spawn\\lib\\enoent.js:27:25) at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) Emitted 'error' event on

ChildProcess 实例在:在 ChildProcess.cp.emit (C:................\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\node_modules\\cross-env\\node_modules\\cross- spawn\\lib\\enoent.js:30:37) at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) { code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn npm - -prefix "%RESOURCE_DIR%" 运行 lint',
路径:'npm --prefix "%RESOURCE_DIR%" run lint', spawnargs: [] }

错误:函数预部署错误:命令以非零退出代码1终止

我在 Windows 机器上工作

有没有办法将 es7 或更高版本的语法带入服务器,或者以其他方式部署到 Firebase 功能???

有两种部署 Cloud Functions 的方法:

  • 一种是通过Google Cloud Console (不是 firebase控制台),尽管 firebase 选项仅处于预览模式。

  • 另一种是通过 firebase deploy 命令。 这是基于 Firebase 的函数的预期选项。

为了能够使用 ES7 或更高版本的语法,您可以尝试Typescript Cloud Functions 运行时是Node.jsNode 14已经支持 ES20015-2017 的大部分功能。 因此,在节点上编写也可能是另一种选择。

并且该错误似乎与其他帖子Github 问题非常相似,因此很可能是由于缺少目录中的某些依赖项或预部署 linting 脚本的问题。 我会尝试这些解决方案。

暂无
暂无

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

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