Как заставить TypeScript распознавать импорт Firebase - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь показать содержимое из firestore в небольшом веб-приложении TypeScript с помощью доступа к firestore на стороне клиента.Однако tsc не может скомпилировать, так как не может найти модуль firebase.

В заголовке моего index.html я импортировал firebase-app.js из gstatic, firebase-firestore.js из gstatic,а также мои скомпилированные 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 Код дает мне синтаксическую ошибку. Не удается найти модуль 'firebase / app' и, следовательно, не удается скомпилировать.Я пробовал несколько разных комбинаций firebase и app и не смог импортировать модуль.Можно ли скомпилировать несколько файлов TypeScript в один файл javascript при использовании firebase / firestore?Я успешно смог получить свои данные, используя сырой JavaScript, но я бы предпочел использовать TypeScript, так как это то, во что написана остальная часть моего проекта!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...