如果在编译之间没有更改内容,我如何使TypeScript避免重写文件?

时间:2017-06-03 09:45:20

标签: typescript

有很多公用事业公司依赖文件时间戳,如果他们发现文件修改时间已经改变,他们的缓存就会被清除。

因此,我希望在比较文件的基础上跳过在TypeScript的发射阶段重写文件。内容。如果编译器要用相同的内容重写相同的文件,可能它应该能够跳过重写,为什么不呢?

是否有任何参数,CLI标志,Github上的bug,解决此问题的pull请求?

1 个答案:

答案 0 :(得分:2)

目前,最好的方法是使用tsc --watch功能。 您可以创建一个监听编译完成的脚本,然后执行任何操作。

例如,

'use strict';

const cp = require('child_process');

cp.spawn('tsc', ['-w'], { shell: true })
  .stdout.on('data', data => {
    const text = data.toString()
    process.stdout.write(text)
    if (/.*Compilation complete/.test(text)) {
      cp.spawnSync('npm', ['run', 'lint'], {
        stdio: 'inherit',
        shell: true
      })
    }
  })

@noomorph创建了一个grunt插件:https://github.com/noomorph/grunt-ts-watch