2016-12-06 4 views
4

Ich brauche 2 verschiedene Anwendungen auf demselben Projekt:Angular Cli: Wie zwei Apps zu bedienen?

  • index.html> MainApp Modul
  • login.html> loginApp Modul

(dies aus Sicherheitsgründen von Spring Security verwaltet erforderlich ist)

I Vave Winkel cli.json unten beschrieben:

"apps": [ 
    { 
     "root": "src", 
     "outDir": "dist", 
     "assets": [ 
     "assets", 
     "favicon.ico" 
     ], 
     "index": "index.html", 
     "main": "main.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.json", 
     "prefix": "app", 
     "mobile": false, 
     "styles": [ 
     "styles.scss" 
     ], 
     "scripts": [], 
     "environments": { 
     "source": "environments/environment.ts", 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    }, 
    { 
     "root": "src", 
     "outDir": "dist", 
     "assets": [ 
     "assets", 
     "favicon.ico" 
     ], 
     "index": "login.html", 
     "main": "login.ts", 
     "test": "login-test.ts", 
     "tsconfig": "login-tsconfig.json", 
     "prefix": "login-app", 
     "mobile": false, 
     "styles": [ 
     "login-styles.scss" 
     ], 
     "scripts": [], 
     "environments": { 
     "source": "environments/environment.ts", 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 

Aber nur die erste (auf "apps" -Array) bereitstellen.

Wenn ich Login an Position [0] invertiere, funktioniert das, aber mainApp Module nicht.

Offenbar ist der Grund, Angular Cli nicht JS-Dateien auf dem zweiten html injiziert.

Wie kann ich das beheben?

Antwort

3

UPDATE: Mehrere Anwendungen werden unterstützt nun vom CLI - docs sind here

Derzeit ist die Angular CLI nicht mehrere Anwendungen unterstützt. Das wird in Zukunft unterstützt.

Für jetzt könnten Sie in separaten Verzeichnissen (auch separate CLI-Projekte) arbeiten.

+0

danken Ihnen, mittlerweile Grunt und Gulp bearbeiten könnte gute Option sein. – elporfirio

+0

Gern geschehen. Wenn Sie sich von der CLI entfernen, müssen Sie sich bewusst sein, dass Sie für beide Projekte einen eigenen Build-Prozess von Grund auf erstellen müssen (außerhalb der CLI). – Brocco

+1

Die Option '--app 'ist jetzt in' ng build' usw. verfügbar. –

0

Sie können Ihre .angular-cli.json Datei und Setup mehrere Anwendungen

"apps": [ 
    { 
     "root": "src", 
     "outDir": "../Application.Web.UI/wwwroot/app/Candidate", 
     "assets": [ 
     "assets" 
     ], 
     "index": "index.html", 
     "main": "main.candidate.ts", 
     "polyfills": "polyfills.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.app.json", 
     "testTsconfig": "tsconfig.spec.json", 
     "prefix": "app_andidate", 
     "styles": [ "share/css/material.scss" ], 
     "scripts": [], 
     "environmentSource": "environments/environment.ts", 
     "environments": { 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    }, 
    { 
     "root": "src", 
     "outDir": "../Application.Web.UI/wwwroot/app/Company", 
     "assets": [ 
     "assets" 
     ], 
     "index": "index.html", 
     "main": "main.company.ts", 
     "polyfills": "polyfills.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.app.json", 
     "testTsconfig": "tsconfig.spec.json", 
     "prefix": "app_company", 
     "styles": [ "share/css/material.scss" ], 
     "scripts": [], 
     "environmentSource": "environments/environment.ts", 
     "environments": { 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 
+0

Können Sie angeben, auf welchen Ports jede App ausgeführt werden soll? – Anthony