我有一个grunt ts任务,将打字稿文件转换为javascript。在gunt服务器上我正在翻译我拥有的所有.ts文件。然后我想配置grunt来监视.ts文件,但只转换已经更改的.ts文件。
搜索网页后,我找到了以下选项:
Grunt ts任务:
ts: {
all: {
src: ['scripts/**/*.ts'],
reference: 'scripts/_references.ts'
}
},
这是一项艰巨的任务,我正在听监视事件:
grunt.event.on('watch', function (action, filepath, target) {
switch (target) {
case 'ts':
{
grunt.config(['ts.all.src'], filepath);
grunt.config('watch.ts.tasks', 'ts');
break;
}
}
问题是任务运行,但我正在更新到ts.all.sec变量的文件与grunt服务器上的文件保持一致,并且任务再次转换所有文件。
谢谢!
答案 0 :(得分:1)
如果你不使用reference.ts,那么但只转换已更改的.ts文件。
grunt-ts可以做到这一点(因为typescript编译器会向上走,而不管编译所有引用的文件),并且不要使用--out
(你在这里很好......你没有使用它)而是使用外部模块。更多:(https://github.com/grunt-ts/grunt-ts#fast-compile)
答案 1 :(得分:0)
您正在寻找名为grunt-newer的插件。它完全符合您的需求。