2016-01-02 17 views
9

Angular 2 quick start eğitimini takip ediyorum. Derlenmiş JS dosyaları önceki typescript (.ts) dosyalarından nasıl silinir?

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

Benim typescript dosyaları

source/ dizinde bulunan - takiben benim klasör yapıdır. js/ dizinine derliyorum. Ben gulp-typescript kullanıyorum. Ben, örneğin, bootstrap.js dosya oluşturulur ama eski boot.js dosya hala js/dizininde kalır karşılık gelen bootstrap.ts dosyayı boot.ts adlandırmak ve yeniden derleme yaparken

sorun

olduğunu. Ben yudum görev aracılığı otonomik olarak bu boot.js silmek istediğiniz
├── gulpfile.js 
├── index.html 
├── js 
| ├── app.component.js 
| └── bootstrap.js 
| └── boot.js 
├── source 
| ├── app.component.ts 
| └── bootstrap.ts 
├── node_modules 
    ├── module 1 
    └── module 2 

aşağıdaki- gibi

Şimdi klasör yapısı görünüyor. Bunu nasıl başarabilirim?

+0

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

+1

Geçerli yanıtlar derlenmeden önce 'js /' dizinini siler. Bu iyi ama '-w (watch)' seçeneğini kullanıyorsanız? Ardından, önce hedef klasörü silmenin imkanı yoktur. Her başarılı derlemeden sonra bir komut dosyasını çağırmaya izin veren tsc-watch özelliğini buldum. Ama js/'deki dosyaları silmek için küçük bir script kung-fu'ya ihtiyaç duyar. Bunu yapmayı bilen var mı? – barney765

cevap

5

gulp del.

Görev oluşturun.

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

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

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

Sen yudum del here bölümünde daha fazla bilgi bulabilirsiniz.

4

Başlığı görmeye geldim ve karışımı içine gulp ekleyerek bir çözüm değildi. İşte burada nasıl çözdüm.

Önek rm -rf js &&

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

Umut kişiyle npm inşa komut bu yararlı bulacaksınız.

+0

bu çözümün nasıl çalıştığıyla ilgili bir açıklama, cevabınıza gerçekten ekleyecektir. Kek üzerine krema yapmak gibi. – Choco

+1

@Choco 'rm' dosyaları silmek için unix komutudur rm -rf js/', js /' içindeki tüm dosyaları ve dizinleri yinelemeli olarak siler. '&&' kısmı, rm bittikten sonra yürütmek için başka bir komut ekler. –

+2

Bir windows dev ortamı kullanacak kadar şanssızsanız, 'cash-rm' bir bağımlı bağımlılığı olarak eklerseniz' rm' kullanabilirsiniz. Benzer şekilde, bir dev bağımlılığı olarak kaydedilmişse 'rimraf' (rm -rf' için uygun olarak adlandırılır) kullanabilirsiniz. – samthecodingman

İlgili konular