2016-01-02 4 views
9

Ich folge Angular 2 quick start Tutorial. Folgende ist meine Ordnerstruktur -Wie kompilierte JS-Dateien aus früheren Typoskript (.ts) -Dateien gelöscht werden?

├── gulpfile.js 
├── index.html 
├── js 
| ├── app.component.js 
| └── boot.js 
├── source 
| ├── app.component.ts 
| └── boot.ts 
├── node_modules 
    ├── module 1 
    └── module 2 

Meine Typoskript Dateien in source/ Verzeichnis befinden. Ich kompiliere es zu js/ Verzeichnis. Ich benutze Schluck-Typoskript.

Das Problem ist, wenn ich zum Beispiel die boot.ts zu bootstrap.ts Datei umbenennen und erneut kompilieren, entsprechende bootstrap.js Datei aber die alte boot.js Datei bleibt im js/Verzeichnis noch erstellt wird.

Jetzt sieht die Ordnerstruktur wie folgenden-

├── gulpfile.js 
├── index.html 
├── js 
| ├── app.component.js 
| └── bootstrap.js 
| └── boot.js 
├── source 
| ├── app.component.ts 
| └── bootstrap.ts 
├── node_modules 
    ├── module 1 
    └── module 2 

ich diesen boot.js autonomically über schluck Aufgabe löschen möchten. Wie erreiche ich das?

+0

https://github.com/gulpjs/gulp/blob/master/docs/recipes/delete-files-folder.md – DCoder

+1

Die aktuellen Antworten löschen einfach das 'js /' -Verzeichnis vor dem Kompilieren. Das ist in Ordnung, aber was ist, wenn Sie die Option "-w (watch)" verwenden? Dann gibt es keine Möglichkeit, den Zielordner zuerst zu löschen. Ich habe 'tsc-watch' gefunden, mit dem nach jeder erfolgreichen Kompilierung ein Skript aufgerufen werden kann. Aber es braucht ein kleines Skript Kung-Fu, um die Dateien in 'js /' zu löschen. Weiß jemand, wie man das macht? – barney765

Antwort

5

Install gulp del.

$ npm install --save-dev gulp del 

Erstellen Sie die Aufgabe.

var gulp = require('gulp'); 
var del = require('del'); 

gulp.task('clean:output', function() { 
    return del([ 
    'js/' 
    ]); 
}); 

gulp.task('default', ['clean:output']); 

können Sie weitere Informationen über Gulp del here.

4

Ich kam hierher, den Titel zu sehen, und Zugabe von Schluck in den Mix war keine Lösung. Also hier ist, wie ich es gelöst habe.

Präfix Ihr npm Build-Skript mit rm -rf js &&

"scripts": { 
    ... 
    "build": "rm -rf js/ && tsc", 
    ... 
}, 

Hoffnung jemand wird diese nützlich finden.

+0

eine Erklärung, wie diese Lösung funktioniert, würde wirklich zu Ihrer Antwort hinzufügen. Wie Zuckerguss auf einem Kuchen. – Choco

+1

@Choco 'rm' ist der Unix-Befehl zum Löschen von Dateien' rm -rf js/'löscht rekursiv alle Dateien und Verzeichnisse in' js/'. Der '&&' -Teil fügt einen weiteren Befehl hinzu, der ausgeführt wird, nachdem 'rm' beendet ist. –

+2

Wenn Sie Pech haben, eine Windows-Entwicklungsumgebung zu verwenden, können Sie auch 'rm' verwenden, wenn Sie' cash-rm' als Entwicklungsabhängigkeit hinzufügen. In ähnlicher Weise können Sie stattdessen 'rimraf' (passend für' rm -rf') verwenden, wenn sie als dev-Abhängigkeit gespeichert werden. – samthecodingman

Verwandte Themen