firebase - 解析错误 : 'import' and 'export' may appear only with 'sourceType: module'

标签 firebase google-cloud-firestore google-cloud-functions

我目前正在使用 Google Cloud Functions 和 Firestore。但是我在尝试从父文档获取数据时遇到了问题。我已经在 Internet 上搜索了该问题,但似乎建议的修复方法都不适合我。

以下是我尝试部署时在终端中得到的内容。

/Users/macmini1/Documents/resould-firebase/functions/index.js
  24:1  error  Parsing error: 'import' and 'export' may appear only with 'sourceType: module'

✖ 1 problem (1 error, 0 warnings)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions@ lint: `eslint .`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the functions@ lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/macmini1/.npm/_logs/2019-11-22T12_20_27_403Z-debug.log

到目前为止,我得出的结论是它与我需要的“firebase-admin”有关。 我试图更新所有内容,以及执行同一目标的不同方法。 但似乎没有任何效果。

这是我的代码。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

var db = admin.firestore();
exports.createBid = functions.firestore.document('auctions/{auctionId}/bids/{bidId}').onCreate(async (snap, context) => {
    const bid = snap.ref;
    const auction = await getAuction(auctionId);

    return bid.set({
        test: auction.end_date
    }, {merge: true}).then(() => {
        console.log("Count is created! " + bidId);
        return null;
    }).catch((error) => {
        console.error("Counter Error writing document: ", error);
        return null;
    });
});

export async getAuction(auctionId) {
    if (!auctionId) return Promise.reject('no userId');
    const auctionSnap = await db.collection('auctions').doc(auctionId).get();
    return auctionSnap.data();
}

这是我的 package.json

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase serve --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "8"
  },
  "dependencies": {
    "firebase-admin": "^8.8.0",
    "firebase-functions": "^3.3.0"
  },
  "devDependencies": {
    "eslint": "^5.12.0",
    "eslint-plugin-promise": "^4.0.1",
    "firebase-functions-test": "^0.1.6"
  },
  "private": true
}

我的 .eslintrc.json 有 ecmaVersion 2017

希望有人能指出我做错了什么:-)

最佳答案

我遇到了同样的问题 我已经尝试过了,它对我有用。

parserOptions: {
ecmaVersion: 11,
sourceType: "module",
},

正确检查 {} 和键值之间的空格 .

关于firebase - 解析错误 : 'import' and 'export' may appear only with 'sourceType: module' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58994784/

相关文章:

android - 如何设置 Android Firebase 电话身份验证的回调?

使用自定义声明的 Angular 和 Firebase 路线守卫

firebase - firestore读取可以在客户端无忧无虑地实现吗?

python - 如何将文件从谷歌云存储加载到谷歌云功能

javascript - 调用云函数时对 CORS 预检选项的 500 错误响应。如何从我的网络应用程序调用云功能并符合 CORS 标准?

java - 使用 Firebase 刷新列表的最佳方法是什么

android - 如何从使用 .await() 调用的方法返回异常

swift - firebase 在 Swift 中关闭重新加载表?

javascript - 在交易中访问新文档时,Firestore 安全规则?

google-cloud-platform - 从 GCP 错误报告 Webhook 触发云功能