我想只用 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 设置为在编辑器设置中进行编译。没关系。