Typescript 停止监视类型脚本文件并仅发布更改的文件
在Visual Studio 2015中,我正在跟踪对TS文件所做的更改,以便复制生成的JS文件并将其输出到wwwroot目录。但是,每当我对单个TS文件进行更改时,所有这些文件都会生成并输出到wwwroot文件夹。我应该在这里更改什么,以便只将新的JS文件复制到wwwroot 我使用gulp watch跟踪文件更改,并使用gulp newer过滤新文件Typescript 停止监视类型脚本文件并仅发布更改的文件,typescript,gulp,visual-studio-2015,gulp-watch,gulp-newer,Typescript,Gulp,Visual Studio 2015,Gulp Watch,Gulp Newer,在Visual Studio 2015中,我正在跟踪对TS文件所做的更改,以便复制生成的JS文件并将其输出到wwwroot目录。但是,每当我对单个TS文件进行更改时,所有这些文件都会生成并输出到wwwroot文件夹。我应该在这里更改什么,以便只将新的JS文件复制到wwwroot 我使用gulp watch跟踪文件更改,并使用gulp newer过滤新文件 gulp.task('min:site:js', function () { return gulp .src('Contents/Scr
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/'));
});
gulp.task('watch:ts', function () {
gulp.watch('Contents/Scripts/**/*.ts', ['min:site:js']);
});
大口喝。手表有两种主要形式。两者都返回一个发出更改事件的EventEmitter。第一个参数是glob、可选选项对象和任务数组
gulp.watch('Contents/Scripts/**/*.ts', ['min:site:js']);
简单地说,当与glob匹配的任何文件发生更改时,运行任务。在上面的代码块中,当扩展名为.ts
的Contents/Scripts/***.ts
子文件夹中的任何文件发生更改时,将针对这些文件运行任务min:site:js
第二种形式采用glob,一个可选的options对象,以及一个可选的回调函数,该回调函数将在获取更改时运行
有关更多信息,请参阅
使用gulp typescript编译更改后的.ts文件
这里有一个例子:
var gulp = require('gulp');
var ts = require('gulp-typescript');
var merge = require('merge2');
var tsProject = ts.createProject({
declaration: true,
noExternalResolve: true
});
gulp.task('scripts', function() {
var tsResult = gulp.src('lib/*.ts')
.pipe(ts(tsProject));
return merge([ // Merge the two output streams, so this task is finished when the IO of both operations are done.
tsResult.dts.pipe(gulp.dest('release/definitions')),
tsResult.js.pipe(gulp.dest('release/js'))
]);
});
gulp.task('watch', ['scripts'], function() {
gulp.watch('lib/*.ts', ['scripts']);
});
更新的人怎么知道它被重命名为.min.js?不确定更新的人怎么知道它可能是它不知道。在GulpChanged中,您可以指定输出文件扩展名,如.min.js或类似的内容that@YOU我来看看