gpt4 book ai didi

javascript - typescript 、Firebase、 Cordova : Cannot find module for 'firebase'

转载 作者:行者123 更新时间:2023-12-03 03:09:21 25 4
gpt4 key购买 nike

我正在使用 Cordova 和 Typescript 开发一个混合应用程序。我需要集成 Firebase 才能从数据库读取/更新/保存一些数据。

我的问题是关于在 Typescript 中导入和使用 Firebase(未使用框架)。并在本地主机上测试它。

所以,这就是我所拥有的:

webpack.config.js

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/' },
]
}
}
};

package.json

{
[...]
"main": "src/ts/index.ts",
"devDependencies": {
[...]
"typescript": "2.2.2",
"firebase": "^4.6.0"
},
"dependencies": {
"@types/firebase": "^2.4.32",
[...]
}
}

tsconfig.json

{
"files": [
"./src/ts/index.ts",
"./node_modules/@types/firebase/index.d.ts"
]
}

src/ts/index.ts

import * as firebase from "firebase";

export namespace Application {

export function initialize() {
const db = firebase.database();
}

}

window.onload = function() {
Application.initialize();
};

当我启动应用程序时,它在控制台中抛出错误:

未捕获类型错误:__WEBPACK_IMPORTED_MODULE_2_firebase__ 不是构造函数

请问你能帮我吗?

更新:我删除了无用的代码行,如 @kevinSpaceyIsKeyserSöze告诉我,我编辑了部分 Firebase 代码。

最佳答案

经过长时间的文档和研究以及几次尝试,这是一个可行的解决方案:

首先,你必须有 typings安装。打开外壳并输入:

  1. typings 安装 github:typed-typings/npm-firebase
  2. 输入安装 firebase
  3. npm i --save-dev firebase

然后在 tsconfig.json 中的 files 对象下:

"files": [
"./typings/index.d.ts"
]

src/ts/index.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();
};

仅此而已!

这样就不会出现Cannot find module for 'firebase'的错误了。

关于javascript - typescript 、Firebase、 Cordova : Cannot find module for 'firebase' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47017781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com