Javascript Typescript、Firebase、Cordova:找不到“Firebase”的模块
我正在用Cordova和Typescript开发一个混合应用程序。 我需要集成Firebase,以便从数据库中读取/更新/保存一些数据 我的问题是在Typescript中导入和使用Firebase,没有使用任何框架。并在本地主机上进行测试 这就是我所拥有的: webpack.config.js package.json tsconfig.json src/ts/index.ts 当我启动应用程序时,它在控制台中抛出一个错误: 未捕获的TypeError:\uuu网页包\u导入的\u模块\u 2\u firebase\uuuu不是构造函数 拜托,你能帮我吗Javascript Typescript、Firebase、Cordova:找不到“Firebase”的模块,javascript,cordova,typescript,firebase,types,Javascript,Cordova,Typescript,Firebase,Types,我正在用Cordova和Typescript开发一个混合应用程序。 我需要集成Firebase,以便从数据库中读取/更新/保存一些数据 我的问题是在Typescript中导入和使用Firebase,没有使用任何框架。并在本地主机上进行测试 这就是我所拥有的: webpack.config.js package.json tsconfig.json src/ts/index.ts 当我启动应用程序时,它在控制台中抛出一个错误: 未捕获的TypeError:\uuu网页包\u导入的\u模块\u 2\
更新:我已经删除了无用的代码行,并且,正如我所说的,我已经编辑了Firebase代码的一部分。经过长时间的文档和研究以及几次尝试,这是一个有效的解决方案: 首先,您必须已安装。 打开外壳并键入: typings安装github:typed typings/npm firebase 打字机安装firebase npm i-保存开发人员firebase 然后在tsconfig.json中的files对象下: 在src/ts/index.ts中: 就这些
这样,就不会出现“firebase”找不到模块的错误。请先检查,然后进行修改。调用new Firebase似乎不对首先,您需要阅读官方文档:。然后,您应该从“firebase”中导入*作为firebase,最后在组件内部调用数据库函数来创建实例const db=firebase.databaseWell,我已经在index.html中添加了firebase SDK,并在我的index.ts中导入了firebase模块。我现在遇到另一个错误:“FirebaseStatic”类型上不存在属性“database”
module.exports = function(options) {
return {
[...]
resolve: {
extensions: ['.ts', '.js'],
alias: {
firebase: helpers.root('node_modules/firebase/firebase.js')
}
},
[...]
module: {
rules: [
{ test: /\.ts$/, enforce: 'pre', loader: 'tslint-loader' },
{ test: /firebase\.js$/, loader: 'expose-loader?firebase' },
{ test: /\.ts$/, loader: 'ts-loader', exclude: '/node_modules/' },
]
}
}
};
{
[...]
"main": "src/ts/index.ts",
"devDependencies": {
[...]
"typescript": "2.2.2",
"firebase": "^4.6.0"
},
"dependencies": {
"@types/firebase": "^2.4.32",
[...]
}
}
{
"files": [
"./src/ts/index.ts",
"./node_modules/@types/firebase/index.d.ts"
]
}
import * as firebase from "firebase";
export namespace Application {
export function initialize() {
const db = firebase.database();
}
}
window.onload = function() {
Application.initialize();
};
"files": [
"./typings/index.d.ts"
]
import * as firebase from "firebase";
export namespace Application {
export function initialize() {
const firebaseApp = firebase.initializeApp({ ...firebase config });
const db = firebaseApp.database();
}
}
window.onload = function() {
Application.initialize();
};