【发布时间】:2018-06-17 12:00:59
【问题描述】:
我正在尝试最新的 Firebase npm 模块 (4.8.1)。我正在使用带有 webpack 捆绑的 commonjs 模块系统。为了确保我得到我需要的类型,我的package.json 中有以下内容:
"dependencies: {
"firebase": "^4.8.1"
},
"devDependencies": {
"@firebase/app": "^0.1.5",
"@firebase/app-types": "^0.1.0",
"@firebase/auth": "^0.3.1",
"@firebase/auth-types": "^0.1.0",
"@firebase/database": "^0.1.6",
"@firebase/database-types": "0.1.0",
}
当我使用 tsc 进行编译时,我收到以下错误:
node_modules/@firebase/database/dist/esm/src/api/Database.d.ts(4,33):错误 TS2307:找不到模块“@firebase/app-types/private”。
node_modules/@firebase/database/dist/esm/src/core/AuthTokenProvider.d.ts(17,39):错误 TS2307:找不到模块“@firebase/app-types/private”。
我觉得这很奇怪有几个原因:
- 我使用的是 CommonJS 模块系统而不是 ESM
- 我假设
@firebase/data-types提供类型而不是实现代码。这就是为什么我将它列为 devDependency 而不是 dependency - 即使我将所有
@firebase/*切换为“依赖项”,它仍然会出现相同的错误 - 我确实看到其他人在here 上发帖说 Firebase 4.8.1 有一个错误,回滚到 4.8.0 可能会解决问题……但据我所知,4.8.0 有各种各样的“隐含任何”错误(也许我可以证明关闭),但在导出的 API 中还有许多其他弃用。简单地说,在我看来,4.8.1 作为打字参考要好得多。
【问题讨论】:
标签: typescript firebase firebase-realtime-database