2017-02-21 1 views
2

Ich mag würde, um zu wissen, ob es möglich ist, in Winkel-cli Build hook/watch-Befehl:Haken in Winkel-cli build beobachten

ng build/w

, die erzeugt Dateien und legt sie im Projekt /dist Ordner

Ich möchte nur nach dem Build abgeschlossen, um den Dist-Ordner in ein anderes Verzeichnis zu kopieren, ist es möglich?

Antwort

0

Sie sollten Ihren eigenen Knoten Build-Skript erstellen, die den ng build Befehl aufruft und danach kopiert die Dateien in einem Verzeichnis:

let thread = exec('ng build -e=prod --prod', { maxBuffer: 1024 * 5000}); 
thread.on('close', (data) => { 
    //do your moving stuff here 
}); 

Es gibt keinen Weg in die cli (noch) nicht anschließen, und ich don glaube nicht, dass sie es erlauben werden. Soweit ich mich erinnere, mögen sie die Dinge dort geschlossen halten, weil sie auf diese Weise den Build-Prozess ändern können, ohne dass ältere Builds verrückt spielen.

2

Ich schaffte es, das zu erreichen, was ich mit parallel wollte Aufgaben, Copyfiles und npm Uhr:

npm dev Abhängigkeiten:

"npm-watch": "^0.1.8", 
"parallelshell": "^2.0.0", 
"copyfiles": "^1.2.0", 

package.json snippet:

"watch": { 
    "copy-files": "dist/*.js" 
    }, 
    "scripts": { 
    "ng": "ng", 
    "start": "ng serve", 
    "lint": "tslint \"src/**/*.ts\" --project src/tsconfig.json --type-check && tslint \"e2e/**/*.ts\" --project e2e/tsconfig.json --type-check", 
    "test": "ng test", 
    "pree2e": "webdriver-manager update --standalone false --gecko false", 
    "e2e": "protractor", 
    "watch": "npm-watch", 
    "copy-files": "copyfiles src/** dist/** ../angular", 
    "ng-build": "ng build -w", 
    "build": "parallelshell \"ng build\" \"npm run watch\" " 
    }, 

Dann

npm laufen build

FWIW die Uhr Config sagt, wenn etwas in dist/*. Js Änderungen, die "copy-files" npm Skript ausführen ...

0

Wenn Sie Möchten Sie nur den Ordner ändern, der an Sie ausgegeben wird, können Sie dies in der angular-cli.json-Datei festlegen. Es gibt eine "outdir" -Einstellung, die Sie in den Ordner ändern können, in dem sie ausgegeben werden soll.