【发布时间】:2020-11-26 06:35:33
【问题描述】:
我正在尝试使用 Firebase 启动一个 TypeScript 项目,但我无法让 TypeScript 喜欢 import firebase from 'firebase/app'; 它给了我错误 Cannot find module 'firebase/app'。
但是,我知道它可以工作,因为我能够控制 firebase - Typescript 只是不喜欢它。我有什么特别需要做的吗?我看到有人说你必须安装@types/firebase,但它说它已被弃用。
编辑:
tsconfig:
{
"compilerOptions": {
"target": "esnext",
"watch": true,
"lib": [
"DOM",
"esnext"
],
"moduleResolution": "node", // Tell tsc to look in node_modules for modules
"strict": true, // Strict types, eg. prohibits `var x=0; x=null`
"alwaysStrict": true, // Enable JavaScript's "use strict" mode
"outDir": "./public"
},
"include": [
"**/*.ts",
"**/*.tsx"
],
"exclude": [
"node_modules"
]
}
我通过添加"moduleResolution": "node" 解决了上述问题。但是,现在当我像这样添加脚本时:<script type="module" src="/index.js"></script> 在 index.js 中只是 import * as firebase from 'firebase/app'; - 我得到一个浏览器错误:TypeError: Module specifier does not start with "/", "./", or "../". - 在 Safari 13.1 上测试。
有没有其他方法可以解决这个问题? Typescript、Firebase 均为最新版本。
【问题讨论】:
-
@types/firebase已被弃用,因为firebase正式发布了自己的类型。您的设置有问题。提供更多信息:firebase 包版本、typescript 版本、tsconfig.json。
标签: typescript firebase node-modules