node.js - Firebase 云函数设置
问题描述
所以我目前正在尝试在我们的 React 项目中设置云功能,但不幸的是,我没有任何成功。我已经使用 npm install -g firebase-tools 安装了 Firebase CLI。我还更新了 firebase-functions 和 firebase-admin 到最新版本。在这些事情之后,必须在终端“firebase login”中使用命令,但是当我这样做时,这就是我得到的
$ 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() 之外,我已经尝试了它所推荐的方法,因为我不知道如何让它工作。
解决方案
所以我想我弄清楚了这个问题。安装最新版本的 Node.js 后,我再次运行 npm install -g firebase-tools 并添加了更多内容。为了通过终端进行firebase登录,我不得不输入firebase login --interactive
推荐阅读
- raku - 如何推入数组的哈希键?
- javascript - 如何在 HTML 中调用 REST API
- javascript - referencing imported js code to imported elements
- perl - Perl optimizer question: Will the perl compiler optimize away all of these temporary variables?
- c - strcmp says seemingly identical string are not equal
- java - 发现多个文件具有操作系统独立路径“META-INF/groovy-release-info.properties”
- java - Java 内存泄漏。JProfiler
- django - Django Queryset 过滤器在视图中
- google-sheets - Checkable checkbox column in sheets
- python - 向熊猫数据框添加和增加分钟数