如何获取TypeScript识别Firebase导入

时间:2019-06-13 03:03:52

标签: typescript firebase import google-cloud-firestore

我试图通过访问Firestore客户端在小型TypeScript Web应用程序中显示Firestore中的内容。但是,tsc无法编译,因为找不到Firebase模块。

在index.html的开头,我从gstatic导入了firebase-app.js,从gstatic导入了firebase-firestore.js,并依次导入了我编译的script.js。我目前有3个TypeScript文件可编译为单个js文件,并且我正尝试将数据加载到三个文件中的第一个文件中。

我的index.html在此处导入了三个脚本

    <script src="https://www.gstatic.com/firebasejs/6.1.1/firebase-app.js"></script>

    <script src="https://www.gstatic.com/firebasejs/6.1.1/firebase-firestore.js"></script>

    <script src="scripts/script.js" type="module"></script>

然后我的tsconfig.json使用这些选项编译三个文件

{
    "compilerOptions": {
        "target": "esnext",
        "watch": true,
        "outFile": "public/scripts/script.js",
        "module": "system"
    },
    "files": [  
                "scripts/temp.ts",
                "scripts/loaddata.ts",
                "scripts/control.ts"
            ]
}

最后,temp.ts的第一行是我导入时发生错误的地方

import * as firebase from 'firebase/app';
import 'firebase/firestore';

const firebaseConfig = {
//config here
}

firebase.initializeApp(firebaseConfig);

let db = firebase.firestore();

VS Code给了我语法错误找不到模块“ firebase / app”,因此无法编译。我尝试了Firebase和App的几种不同组合,但在导入模块时未成功。使用firebase / firestore时是否可以将多个TypeScript文件编译为单个javascript文件?我可以使用原始JavaScript成功检索数据,但我更喜欢使用TypeScript,因为这是我项目的其余部分编写的内容!

1 个答案:

答案 0 :(得分:1)

    import firebase from '@firebase/app'
    import '@firebase/auth'

    firebase.auth().createUserWithEmailAndPassword(email, passowrd)