Angularjs2 + Electron + Angularfire2

时间:2017-01-28 18:12:11

标签: angular electron angularfire2

我尝试使用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错误加载"

error

有谁知道如何解决它?

由于

2 个答案:

答案 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;