首页 > 解决方案 > 将 TypeScript 与 Firebase 一起使用 - 找不到模块“firebase/app”

问题描述

我正在尝试使用 Firebase 启动一个 TypeScript 项目,但我无法让 TypeScript 喜欢import firebase from 'firebase/app';它给了我错误Cannot find module 'firebase/app'

但是,我知道它可以工作,因为我能够控制 firebase - Typescript 只是不喜欢它。我有什么特别需要做的吗?我见过有人说你必须安装@types/firebase,但它说它已被弃用。

编辑:

配置:

{
    "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>它就import * as firebase from 'firebase/app';在 index.js 中 - 我得到一个浏览器错误:TypeError: Module specifier does not start with "/", "./", or "../".- 在 Safari 13.1 上进行测试。

有没有不同的方法来解决这个问题?Typescript、Firebase 都是最新版本。

标签: typescriptfirebasenode-modules

解决方案


节点解析要求您从当前目录开始路径:

import * as firebase from './firebase/app'

推荐阅读