我正在尝试将 flutter 应用程序部署到 firebase 主机,但我的 index.js 文件中有一个错误,我不知道如何修复。
我已经完成了 flutter build web 命令、firebase init 命令,然后是 firebase 部署。
当进程尝试部署我在 index.js 文件中的函数时,我遇到了问题。
index.js:
import { firestore } from "firebase-functions"; <<< ERROR HERE
import { initializeApp, messaging } from "firebase-admin";
initializeApp();
export const updateTrxnNotification = firestore
.document("company/{companyId}/trxns/{trxnsId}")
.onUpdate((change, context) => {
const newValue = change.after.data();
const documentId = context.params.documentId;
// // Access other fields as needed from newValue
// // Constructing the notification payload
const payload = {
notification: {
title: "Document Updated",
body: "Document ${documentId} has been updated.",
},
// You can add additional data fields as needed
data: {
documentId: documentId,
},
};
// // Get the device token from your Firestore document
const deviceToken = newValue.deviceToken;
// Send the notification
return messaging().send(deviceToken, payload);
});
我在第一个导入语句中收到错误。
错误如下: 解析错误:“导入”和“导出”可能仅与“源类型:模块”一起出现
并且没有可用的快速修复方法。
我已经阅读了一些询问相同错误的问题,但它们相当旧,他们的建议对我不起作用。
这是我的 eslintrc.js 文件:
/* eslint linebreak-style: ["error", "windows"]*/
// eslint-disable-next-line no-undef
module.exports = {
env: {
es6: true,
node: true,
},
parserOptions: {
"ecmaVersion": 2018,
},
extends: [
"eslint:recommended",
"google",
],
rules: {
"no-restricted-globals": ["error", "name", "length"],
"prefer-arrow-callback": "error",
"quotes": ["error", "double", {"allowTemplateLiterals": true}],
},
overrides: [
{
files: ["**/*.spec.*"],
env: {
mocha: true,
},
rules: {},
},
],
globals: {},
};
我尝试将“sourceType”:模块添加到 parserOptions 行,但它也不起作用。
如何修复此问题,以便将其部署到 firebase 主机或移至下一个错误?
谢谢
将 sourceType 及其值添加到 eslintrc.js 文件时,确保使用双引号 (" ")。
module.exports = {
...
parserOptions: {
"ecmaVersion": 2018,
"sourceType": "module",
},
...
};