将云函数部署到Firebase时发生eOnt错误

将云函数部署到Firebase时发生eOnt错误,firebase,google-cloud-functions,firebase-cloud-messaging,firebase-cli,Firebase,Google Cloud Functions,Firebase Cloud Messaging,Firebase Cli,我使用云函数在实时数据库更新时向用户发送通知 当我使用firebase init函数创建项目并运行Windows 10时,我选择了javascript 每当我使用firebase deploy时,它都会显示以下错误: 错误:spawn npm-前缀I:\Indian Meme Templates\functions运行lint enoint 在notFoundError C:\Users\Pranav\AppData\Roaming\npm\node\u modules\firebase too

我使用云函数在实时数据库更新时向用户发送通知

当我使用firebase init函数创建项目并运行Windows 10时,我选择了javascript

每当我使用firebase deploy时,它都会显示以下错误:

错误:spawn npm-前缀I:\Indian Meme Templates\functions运行lint enoint 在notFoundError C:\Users\Pranav\AppData\Roaming\npm\node\u modules\firebase tools\node\u modules\cross env\node\u modules\cross spawn\lib\enoint.js:6:26 在验证节点C:\Users\Pranav\AppData\Roaming\npm\node\u modules\firebase tools\node\u modules\cross env\node\u modules\cross spawn\lib\enoint.js:40:16 在ChildProcess.cp.emit C:\Users\Pranav\AppData\Roaming\npm\node\u modules\firebase tools\node\u modules\cross env\node\u modules\cross spawn\lib\enoint.js:27:25 在Process.ChildProcess.\u handle.onexit internal/child\u Process.js:275:12 在以下位置的ChildProcess实例上发出了“错误”事件: 在ChildProcess.cp.emit C:\Users\Pranav\AppData\Roaming\npm\node\u modules\firebase- tools\node\u modules\cross env\node\u modules\cross spawn\lib\enoint.js:30:37 在Process.ChildProcess.\u handle.onexit internal/child\u Process.js:275:12 { 代码:'enoint', errno:'enoint', syscall:'spawn npm-前缀I:\\Indian Meme Templates\\functions run lint', 路径:“npm-前缀I:\\Indian Meme Templates\\functions run lint”, 产卵参数:[] } 这是我的Index.js文件:

常量函数=需要“firebase-functions”; exports.sendAdminNotification=functions.database.red'\Data/{pushId}'。onWriteevet=>{ 常量数据=event.data.val; ifdata.priority==1{ 常量有效负载={通知: {标题:“新数据”, 正文:“${data.title}” } }; 返回admin.messaging.sendToTopicNews,payload.thenfunctionresponse { console.log“通知已成功发送:”,响应; }.catch函数错误{ console.log“发送通知失败:”,错误; }; } };
此错误的原因是,在部署过程中,firebase部署操作试图以防林方式读取代码,但找不到用于林式读取代码的工具和/或文件

尝试解决此问题的第一步是确保已使用npm run install在functions文件夹中安装了所有依赖项。这将确保安装了eslint工具

接下来,因为npm run lint命令被设置为调用eslint。默认情况下,Index.js文件应重命名为Index.js。这是因为index.js在Javascript/Typescript项目中作为文件夹的默认入口点具有特殊意义。大多数工具都希望遵循命名约定,并且是小写的

接下来,您提供的index.js文件有许多打字错误,当lint工具执行其任务时,应该突出显示这些错误

这是同样的代码,没有那些打字错误:

常量函数=需要“firebase-functions”; const admin=需要“firebase-admin”; admin.initializeApp; exports.sendAdminNotification=functions.database.ref'/Data/{pushId}'。onWriteevent=>{ 常量数据=event.data.val; 如果data.priority==1{ 常数有效载荷={ 通知:{ 标题:“新数据”, 正文:“${data.title}” } }; 返回admin.messaging.sendToTopicNews,有效负载 .Then函数响应{ console.log“通知已成功发送:”,响应; } .catch函数错误{ console.log“发送通知失败:”,错误; }; } }; 我建议您在IDE中工作,例如或者如果您刚刚开始使用Firebase,因为它将帮助您进行代码暗示、实时linting和语法高亮显示