2017-01-28 8 views
0

Я пытаюсь реализовать доступ Firebase из настольного приложения, используя AngularJS2 + Eletron. Я загрузил пример «Electron + AngularJS2» от https://github.com/DenisVuyka/ng2-electron, он работает очень хорошо.Angularjs2 + Electron + Angularfire2

Но после того, как я добавлю компонент 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 ING»

error

Кто-нибудь знает, как решить эту проблему?

Благодаря

ответ

1

Использование @ 5minutes2start предложение Я мог бы исправить свой код.

Так, были внесены изменения в файле systemjs.config.js

Я добавил эти 2 линии на карте:

'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; 
1

Вам нужно изменить systemjs.config.js Добавить сопоставление для нового ресурса.

'angularfire2': 'npm:@angularfire2/bundles/angularfire2.umd.js' 
+0

Спасибо @ 5minutes2start! Используя подсказку, я могу исправить свой код. Ниже перечислены все изменения. – rickdroio