自动编译 TypeScript 源代码并复制静态(模板)文件

Automatically compile TypeScript sources and copy static (template)files

在调试快速服务器时,我的 'build & run' 过程包括 3 个步骤:

这些步骤中的每一个都可以使用 监视模式 自动执行,但我正在努力将这三个步骤结合在一起。 我设法通过使用 tsc-watch to watch the TypeScript sources, cpx to copy the static files and finally nodemon 重新启动服务器来让它工作。 这种方法 有效 但有几个问题:

other questions 与此主题相关,但其中 none 解决了上述问题(尽管他们确实告诉了我有关 cpx 和 tsc-watch 的信息)。 我不想使用 concurrently,因为它会导致计时问题,并且它会混合来自不同进程的控制台输出(最显着的是 tsc-watch 和实际服务器)。

使用 tsc-watch--onSuccess 来复制静态文件是不够的,因为模板文件中的更改不会被拾取。这可以通过更改源文件中的注释来解决,但这会触发完全重新编译(重新启动服务器)。 使用 webpack's watch mode 也是不够的,因为它不会获取新文件并进一步污染控制台输出。

是否有任何我可能错过的解决方案?我应该只写一个自动打开 3 个所需终端的脚本吗?

我最终选择了 webpack with the copy-webpack-plugin

虽然在撰写本文时不幸的是手表模式是broken,但它似乎非常符合我的需求几乎

  • 这种方法只需要 2 个终端(一个用于 webpack,另一个用于 nodemon)。它并不完美,但比 3 好多了。
  • 新文件应该自动获取(尽管目前不是 100% 正确工作)
  • 静态文件中的更改不应该导致完全重新编译,这会导致服务器重新启动(同样,这目前不能 100% 正确地工作)
  • Webpack 处理 Ctrl+C 优雅退出
  • 对我来说最重要的原因:copy-webpack-plugin allows me to specify how I want my files to be copied in more detailed with the context 选项