我尝试使用AngularJS2 + Eletron从桌面应用实施Firebase访问。 我已经下载了这个例子" Electron + AngularJS2"来自https://github.com/DenisVuyka/ng2-electron,它的效果非常好。
但是在我添加Angularfire2组件后,AngularJS开始失败。 基本上我在下载ng2电子源之后只做了以下步骤:
1。安装组件:
npm install angularfire2 firebase --save
2。更新了我的app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { AngularFireModule } from 'angularfire2';
export const firebaseConfig = {
apiKey: "xxxxx",
authDomain: "xxxxxx",
databaseURL: "https://xxxxx",
storageBucket: "xxxxx",
messagingSenderId: "xxxxx"
};
@NgModule({
imports: [ BrowserModule, AngularFireModule.initializeApp(firebaseConfig)],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
这些更改后会出现以下错误: "无法加载资源:net :: ERR_FILE_NOT_FOUND","错误:(SystemJS)XHR错误加载"
有谁知道如何解决它?
由于
答案 0 :(得分:1)
您需要修改systemjs.config.js 添加新资源的映射。
'angularfire2': 'npm:@angularfire2/bundles/angularfire2.umd.js'
答案 1 :(得分:1)
使用@ 5minutes2start建议我可以修复我的代码。
因此,更改是在文件 systemjs.config.js
上进行的我在地图上添加了这两行:
' angularfire2':' npm:angularfire2', ' firebase':' npm:firebase',
并将这些添加到包中:
angularfire2:{ main:' ./ bundles / angularFire2.umd.js', defaultExtension:' js' }, firebase:{ main:' ./ firebase.js', defaultExtension:' js' }
我的完整 systemjs.config.js :
(function (global) {
System.config({
paths: {
'npm:': 'node_modules/'
},
map: {
app: 'app',
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
...
'angularfire2': 'npm:angularfire2',
'firebase': 'npm:firebase',
},
packages: {
app: {
main: './main.js',
defaultExtension: 'js'
},
rxjs: {
defaultExtension: 'js'
},
angularfire2: {
main: './bundles/angularFire2.umd.js',
defaultExtension: 'js'
},
firebase: {
main: './firebase.js',
defaultExtension: 'js'
}
}
});
})(this);
在这些更改之后出现了另一个错误:"无法读取属性' FacebookAuthProvider'未定义" ,我可以使用此处讨论的解决方案来修复它:https://github.com/angular/angularfire2/issues/576
添加" firebase = firebase.firebase;"之前" var _a = firebase.auth;"在 angularfire2.umd.js
firebase = firebase.firebase;
var _a = firebase.auth;