0

我有一个将打字稿文件转换为 javascript 的 grunt ts 任务。在 gunt serve 上,我正在编译我拥有的所有 .ts 文件。然后我想配置 grunt 来观看 .ts 文件,但只转换已更改的 .ts 文件。

在网上搜索后,我发现了以下选项:

Grunt ts 任务:

ts: {
        all: {
            src: ['scripts/**/*.ts'],
            reference: 'scripts/_references.ts'
        }
    },

这是繁重的任务,然后我正在收听 watch 事件:

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 serve 上的文件相同,并且任务再次转换所有文件。

谢谢!

4

2 回答 2

1

但仅转换已更改的 .ts 文件。

如果你不使用reference.ts,grunt-ts 可以做到这一点(因为打字稿编译器会走上树,否则会编译所有引用的文件),并且不要使用--out(你在这里很好......你不使用它)并改用外部模块。更多:(https://github.com/grunt-ts/grunt-ts#fast-compile

于 2014-09-10T12:03:46.663 回答
0

您正在寻找名为grunt-newer的插件。它完全符合您的需要。

于 2014-09-10T10:40:05.857 回答