Firebase云功能设置

时间:2020-04-25 18:07:58

标签: node.js reactjs firebase npm google-cloud-functions

所以我目前正在尝试在我们的React项目中设置云功能,但是不幸的是,我没有任何成功。我已经使用npm install -g firebase-tools安装了Firebase CLI。我也将firebase-functions和firebase-admin更新到了最新版本。完成这些操作后,必须在终端“ firebase登录”中使用该命令,但是当我这样做时,这就是我得到的

$ firebase login
internal/modules/cjs/loader.js:1174
      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
      ^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\index.js
require() of ES modules is not supported.
require() of C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\index.js from C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\run-async\index.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\package.json.

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1174:13)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\run-async\index.js:3:17)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14) {
  code: 'ERR_REQUIRE_ESM'
}

我尝试了它的建议,除了更改要求的代码以使用import()之外,因为我不知道如何使它工作。

1 个答案:

答案 0 :(得分:1)

所以我想我解决了这个问题。安装最新版本的Node.js之后,我再次运行了npm install -g firebase-tools,它增加了一些其他功能。为了通过终端进行Firebase登录,我不得不输入firebase login --interactive