2016-12-03 4 views
0

Ich versuche meine Anwendung zu erstellen, aber der ng build Befehl enthält nicht alle Dateien, wie styles.css oder Bilder oder Bibliotheken wie c3.js oder .Wie man ng build anweist, mehr Dateien aufzunehmen

Ich kann dies tun, indem das Kopieren und diese Dateien in die dist Ordner einfügen (in dem die Dateien nach dem ng build Befehl gehen), aber dies ist ineffizient, weil ich es zu tun habe, jedes Mal wenn ich ng build machen.

Wie kann ich machen ng build automatisch die Stile, Bilder und Bibliotheken.

bearbeiten angular-cli.json Datei:

{ 
    "project": { 
    "version": "1.0.0-beta.20-4", 
    "name": "scada-lts-ui" 
    }, 
    "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.css" 
     ], 
     "scripts": [ 
     "../node_modules/hammerjs/hammer.min.js" 
     ], 
     "environments": { 
     "source": "environments/environment.ts", 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 
    "addons": [], 
    "packages": [], 
    "e2e": { 
    "protractor": { 
     "config": "./protractor.conf.js" 
    } 
    }, 
    "test": { 
    "karma": { 
     "config": "./karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "styleExt": "css", 
    "prefixInterfaces": false, 
    "inline": { 
     "style": false, 
     "template": false 
    }, 
    "spec": { 
     "class": false, 
     "component": true, 
     "directive": true, 
     "module": false, 
     "pipe": true, 
     "service": true 
    } 
    } 
} 

Folgende Fehler erscheint, weil ng build muß nicht diese Dateien von App-Verzeichnis kopieren.

enter image description here

+0

Bitte geben Sie weitere Informationen. Wie haben Sie diese zusätzlichen Assets zu Ihrem Projekt hinzugefügt? Wie ist es strukturiert? Wie sieht dein "angular-cli.json" aus? – jonrsharpe

+0

@jonrsharpe Es ist fertig, mein Freund. –

+0

Das ist nur ein Teil von dem, wonach ich gefragt habe, aber es ist bereits klar, dass Sie nur eine Bibliothek in 'Skripte' aufnehmen. Was ist mit den anderen? Haben Sie diese Bilder in das Anlagenverzeichnis gelegt? Wo ist deine root styles.css? Verwenden Sie Angular 2-Wrapper für Ihre Abhängigkeiten? Haben Sie darüber nachgedacht, sie von einem CDN zu laden, wenn Sie sie direkt in den HTML-Code einfügen? Etc. – jonrsharpe

Antwort

2

Fügen Sie Ihre Dateien in das "Vermögen" -array in Winkel cli.json https://github.com/angular/angular-cli#project-assets

Dies wird die Assets-Ordner enthalten (wie) und die favicon.ico -datei

"assets": [ 
    "assets", 
    "favicon.ico" 
] 

Wenn Sie die js und CSS-Dateien wollen in den Build

Dann fügen Sie die benötigten s gebündelte werden CRIPT Dateien apps [0] .scripts:

"scripts": [ 
    "../node_modules/jquery/dist/jquery.js", 
    "../node_modules/tether/dist/js/tether.js", 
    "../node_modules/bootstrap/dist/js/bootstrap.js" 
], 

Schließlich fügen Sie die Bootstrap CSS zu den Anwendungen [0] .styles Array:

"styles": [ 
    "../node_modules/bootstrap/dist/css/bootstrap.css", 
    "styles.css" 
], 

Gebündelte Dateien werden automatisch in Links von index.html auf Build , Dateien und Ordner, die vom Assets-Array enthalten sind, müssen Sie Links in Ihrem Code bereitstellen.

Blick auf diesen Teil der readme https://github.com/angular/angular-cli#3rd-party-library-installation

+0

Versuchen Sie, so viel wie Informationen in der Antwort selbst eher Verweis Links hinzuzufügen. Dies liegt daran, dass der Inhalt einer Verbindung geändert werden kann oder die Verbindung nach einiger Zeit unterbrochen werden kann. –

+0

weitere Informationen hinzugefügt :-) –