【发布时间】:2021-10-26 19:33:39
【问题描述】:
'firebase' npm 包用于 Functions 后端 .initializeApp(config) 和 .Auth().signInWithEmailAndPassword(邮箱、密码)
Firebase 部署/服务抛出此错误:
! Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <project path>\functions\node_modules\firebase\package.json
at throwExportsNotFound (internal/modules/esm/resolve.js:299:9)
at packageExportsResolve (internal/modules/esm/resolve.js:522:3)
at resolveExports (internal/modules/cjs/loader.js:449:36)
at Function.Module._findPath (internal/modules/cjs/loader.js:489:31)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:875:27)
at Function.Module._load (internal/modules/cjs/loader.js:745:27)
at Module.require (internal/modules/cjs/loader.js:961:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object.<anonymous> (<project path>\functions\APIs\users.js:4:18)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
!我们无法加载您的函数代码。 (见上文)
const firebase = require("firebase");
重新安装 firebase 包、更新 Node、npm 和使用“firebase-admin”并没有解决问题。 如果您能提供帮助,我将不胜感激。
【问题讨论】:
-
查看您安装了哪个版本的 firebase 会很有帮助,因为问题似乎是在“users.js”中调用了 firebase。因此,查看“users.js”中的代码也会很有帮助。但是,我怀疑问题是在您尝试使用 firebase@8 编写代码时安装了 firebase@9。
-
我认为您正在使用新的 firebase 版本。在 pakage.json 文件中将 firebase npm 版本编辑为 ^7.13.1 并重新安装。
-
如果您正在关注 freeCodeCamp how-to-build-a-todo-application-using-reactjs-and-firebase 文章,您可能会遇到他们在firebase web 版本 8.x,而您使用的是 9.x 版本。出于各种(好的)原因,它们从命名空间变为模块化。看到这个:firebase.google.com/docs/auth/web/password-auth#web-version-9_1
-
也许要求不适用于最新版本。我只是按照@MuhammedAnasU 的建议使用 ^7.13.1 等较低版本重新安装它。然后它对我来说很好。谢谢。