我正在使用Angular2和打字稿,但我在开发过程中遇到了挫折。
我正在使用tsc -w
来监视文件更改并立即编译。这可能需要2或3秒才能完成,因为它会编译引用已更改文件的所有文件。
我正在使用live-server . --ignorePattern=.*\.ts
,以便live-server可以监视非ts文件更改并更新浏览器以反映更改。理想情况下,它应该强制浏览器在tsc
完成编译时更新。
最终发生的事情是tsc
将立即在更改时构建.ts文件并发出它的.js和.js.map文件。这将触发live-server
更新。然后tsc
将重新编译import
已更改的.ts文件的所有文件,并发出所有.js和.js.map文件。这需要将近2秒钟。之后live-server
再次刷新浏览器。
如果我将live-server
行更改为live-server . --wait=3000 --ignore-pattern=.*\.ts
,则在第二次发出js文件后等待3秒,这意味着它等待整整5秒(编译引用已更改文件的文件的时间为2秒) + 3秒额外等待)如果背靠背做出一堆小改动,这可能会非常麻烦。它会一直编译回我的boot.js
文件。
我是否可以使用tsc
个选项/标志只发出一次编译文件?我不想只发出一个.js文件,但我对其他解决方案持开放态度。