2016-07-07 18 views
8

Wygenerowałem nowy projekt Angular 2 przy użyciu nowego Angular CLI. Teraz nie chcę używać Angulara w przeglądarce, ale w aplikacji elektronowej. Dlatego stworzyłem plik dla głównego procesu elektronu i po zbudowaniu mojej aplikacji Angular z ng build w terminalu, aplikacja nie działała zgodnie z oczekiwaniami.Użyj Angular 2 with Electron (Angular CLI)

pliku do głównego procesu elektronu:

var electron = require("electron"); 
var {app, BrowserWindow} = electron; 

app.on('ready',() => { 
    var mainWindow = new BrowserWindow(); 
    mainWindow.loadURL(`file://${__dirname}/dist/index.html`); 
}); 

Błąd w DevTools:

file:///vendor/es6-shim/es6-shim.js Failed to load resource: net::ERR_FILE_NOT_FOUND 
file:///vendor/reflect-metadata/Reflect.js Failed to load resource: net::ERR_FILE_NOT_FOUND 
file:///vendor/systemjs/dist/system.src.js Failed to load resource: net::ERR_FILE_NOT_FOUND 
file:///vendor/zone.js/dist/zone.js Failed to load resource: net::ERR_FILE_NOT_FOUND 
index.html:22 Uncaught ReferenceError: System is not defined 

wiem też, że w zasadzie potrzebny jest serwer WWW, aby uruchomić kątowa 2 wnioski i myślę, że moja aplikacja działa nie działa, ponieważ Electron ładuje aplikację za pomocą protokołu file://.

Ale naprawdę chcę używać Electron w połączeniu z Angular 2; więc moje pytanie brzmi, czy jest to możliwe, a jeśli tak, to w jaki sposób muszę zmodyfikować wygenerowany szablon kątowy z narzędzia cli.

+1

Pierwszy wynik wyszukiwania https://auth0.com/blog/2015/12/15/create-a-desktop- app-with-angle-2-and-electron/ – ishaan

+0

Tak, ale chciałbym wiedzieć, jak zmodyfikować szablon generowany przez Angular CLI. – HansMu158

Odpowiedz

9

Można również zmienić

<base href="/"> 

do

<base href="./"> 
-1

pobierz plik angular.js z CDN i umieść go w folderze aplikacji. Następnie w pliku html używać

<script type="text/javascript" src="angular.js"></script> 

przeciwieństwie do elektronu przeglądarki nie będą mieli problemu podnoszenia angularjs z systemu plików.

+0

Dzięki, ale wciąż mam te same błędy ... – HansMu158

+0

Czy możesz pokazać nam swój index.html –

5

Po przeczytaniu czegoś o Kątowymi 2 Router wczoraj, zorientowałem się, że problem jest spowodowany przez tę linię w index.html

<base href="/"> 

zastępując je dynamicznie Podstawowy zestaw wszystko działa zgodnie z oczekiwaniami.

<script>document.write('<base href="' + document.location + '" />');</script>