在新的ASP.NET 5项目中,有一个名为wwwroot
的文件夹,通常包含可由Web请求访问的js,css和其他文件。
我的打字稿文件位于此文件夹之外。每当我保存ts文件时,我希望生成的js文件被传输到wwwroot文件夹。 这可以在构建期间轻松完成。
但是,每当我在运行时更改并保存ts文件时,我都希望这种情况发生。
我使用gulp-watch,如下所示,但它不起作用。
gulp.task('watch:ts', function () {
gulp.watch('Contents/Scripts/**/*.ts', ['min:site:js']);
});
min:site:js
是我的任务,将js文件移动到wwwroot
gulp.task('min:site:js', function () {
return gulp
.src('Contents/Scripts/**/*.js', { relative: true })
.pipe(newer('wwwroot/js/'))
.pipe(gulp.dest('wwwroot/js/'))
.pipe(uglify())
.pipe(rename({ extname: '.min.js' }))
.pipe(gulp.dest('wwwroot/js/'));
});
答案 0 :(得分:1)
你遇到的问题是gulp.dst正在整理流。 另外,你尝试写两次(使用gulp.dest两次)。在我看来,这没有任何意义。
相反,试试这个:
gulp.task('min:site:js', function () {
return gulp
.src('Contents/Scripts/**/*.js', { relative: true })
.pipe(newer('wwwroot/js/'))
.pipe(uglify())
.pipe(rename({ extname: '.min.js' }))
.pipe(gulp.dest('wwwroot/js/'));
});