Typescript 停止监视类型脚本文件并仅发布更改的文件

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

在Visual Studio 2015中,我正在跟踪对TS文件所做的更改,以便复制生成的JS文件并将其输出到wwwroot目录。但是,每当我对单个TS文件进行更改时,所有这些文件都会生成并输出到wwwroot文件夹。我应该在这里更改什么,以便只将新的JS文件复制到wwwroot

我使用gulp watch跟踪文件更改,并使用gulp newer过滤新文件

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我来看看