我正在开发一个Angular2应用程序,并且我正在使用Gulp来管理构建我的应用程序的任务。这是我用于构建的任务:
gulpfile.js
// Generating minified CSS files for Angular2 Component styleUrls
gulp.task('styles', function(cb) {
return gulp.src('src/app/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(minifyCss())
.pipe(gulp.dest(paths.dist + '/app/'));
});
// Embedding minified HTML templates into Typescript source files
gulp.task('templates', function () {
return gulp.src('src/app/**/*.ts')
.pipe(embedTemplates({sourceType:'ts'}))
.pipe(gulp.dest('dist/app'));
});
// Transpiling Typescript files to Javascripts ones
gulp.task('compile', function () {
return gulp.src(['dist/**/*.ts', 'typings/**/*.d.ts'])
.pipe(tsCompiler())
.pipe(gulp.dest(paths.dist));
});
// Creating one minified JS file
gulp.task('scripts', ['compile'], function(cb) {
return gulp.src(paths.dist + '/**/*.js')
.pipe(concat('app.min.js'))
.pipe(minifyJs())
.pipe(gulp.dest(paths.dist));
});
由于CSS文件被Typescript编译器注入<style>
标签,我希望在SASS处理后删除CSS文件。
对于Javascript也一样:因为生成的JS文件然后在一个文件中缩小,我希望在Typescript转换后删除所有以前的JS文件。
如何达到目标?
也许我可以创建一个新任务,我可以删除所有&#34;中间&#34;文件,但我现在知道这是否会打破Gulp哲学。
如何运行所有任务,然后只获取app.min.js
个文件?