2

我想只用 grunt-ts 编译更改的打字稿文件(否则会非常慢),但似乎我不能。

  • 我试图将它作为并发任务启动,但在这种情况下,我的普通手表似乎无法正常工作。
  • 还尝试使用 watch ,但在这种情况下,它正在编译所有文件。

我成功的唯一方法是将 grunt-ts 作为一个单独的 grunt 进程启动。这样它实际上只是编译更改的文件,但我需要单独启动它

所以很明显我只想运行一个咕噜声。

有什么建议我可以如何完成吗?

更新:

奇怪的是,今天我改变了我的设置,它工作得很好。

我有完成的参考文件(在应用程序文件夹上方)和导航,而且我的文件编译速度也足够快。

不确定它是如何做到的,因为 compile 设置为 ts:dev 的 false (它只是为了维护我的参考文件)。

此外,我停止咕哝着尝试是否有其他东西在运行。但是js文件没有刷新,所以没有其他东西在编译它们。

奇怪,但它现在正在工作,因为我想要它。(不知道为什么 grunt-ts 正在编译文件,如果我默认设置为 false,但是......)

我的配置是:

ts: {
    options: {
        compile: false,
        comments: false,
        target: 'es5',
        module: 'amd',
        sourceMap: true,
        sourceRoot: '',
        mapRoot: '',
        declaration: false,
        noImplicitAny: false,
        fast: 'never'
    },
    initDev: {
        src: [
            '<%= yeoman.app %>/**/*.ts'
        ],
        reference: '_references.ts',
        options: {
            compile: true
        }
    },
    dev: {
        src: [
            '<%= yeoman.app %>/**/*.ts'
        ],
        reference: '_references.ts'
    }
}

...

watch: {
    ts: {
        files: '<%= yeoman.app %>/**/*.ts',
        tasks: ['ts:dev']
    }
}

我在 grunt 启动时启动 ts:initDev 并在文件更改时运行 ts:dev。

更新 2:

抱歉,似乎还有其他东西正在编译文件。我已将 tsc 设置为在编辑器设置中进行编译。没关系。

4

1 回答 1

0

我个人使用打字稿观察者本身。我还使用(免责声明,我写的)快速实时重新加载来做其他事情,比如同步文件夹、指南针运行等。

于 2015-07-01T10:05:32.750 回答