2016-07-07 18 views
8

Ho generato un nuovo progetto Angular 2 utilizzando il nuovo Angular CLI. Ora non voglio usare Angular nel browser ma in un'app di elettroni. Quindi ho creato un file per il processo principale di elettrone e dopo aver costruito la mia app Angolare con ng build nel terminale, l'app non funzionava come previsto.Uso angolare 2 con elettrone (CLI angolare)

file per principale processo di Electron:

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

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

Errore in 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 

So anche che è essenzialmente bisogno di un server web per eseguire angolare 2 Applicazioni e credo che la mia app fa non funziona perché Electron carica l'app tramite il protocollo file://.

Ma voglio davvero usare l'Electron in congiunzione con Angular 2; quindi la mia domanda è se questo è possibile e in tal caso come ho bisogno di modificare il modello angolare generato dall'utilità cli.

+1

primo risultato della ricerca https://auth0.com/blog/2015/12/15/create-a-desktop- app-with-angular-2-and-electron/ – ishaan

+0

Sì, ma mi piacerebbe sapere come modificare il modello generato dalla CLI Angolare. – HansMu158

risposta

9

È inoltre possibile modificare

<base href="/"> 

a

<base href="./"> 
-1

scaricare angular.js dal CDN e inserirlo nella cartella dell'app. Poi, nel tuo file html utilizzare

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

A differenza di un elettrone del browser non avrà un problema raccogliendo angular.js dal file system.

+0

Grazie, ma ho ancora gli stessi errori ... – HansMu158

+0

Puoi mostrarci il tuo index.html –

5

Dopo aver letto qualcosa sulla angolare 2 Router ieri, ho capito che il problema è causato da questa linea nel index.html

<base href="/"> 

sostituendolo con un tutto base di impostare dinamicamente funziona come previsto.

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