Node.js 自动编译TypeScript源代码并复制静态(模板)文件
调试express server时,我的“构建和运行”过程包括3个步骤:Node.js 自动编译TypeScript源代码并复制静态(模板)文件,node.js,typescript,express,ejs,nodemon,Node.js,Typescript,Express,Ejs,Nodemon,调试express server时,我的“构建和运行”过程包括3个步骤: 使用tsc 将图像和模板等静态文件复制到dist/ 运行编译的server.js文件 这些步骤中的每一步都可以通过手表模式实现自动化,但我很难将这三个步骤结合起来。 我通过监视TypeScript源代码、复制静态文件并最终重新启动服务器,成功地使其工作。 这种方法可行,但存在两个问题: cpx只监视它启动时存在的文件(我认为tsc-watch有时也会这样做,这有点奇怪) 这种方法需要在3个独立的终端中使用3个命令,这
- 使用
tsc
- 将图像和模板等静态文件复制到
dist/
- 运行编译的
文件server.js
只监视它启动时存在的文件(我认为cpx
有时也会这样做,这有点奇怪)tsc-watch
- 这种方法需要在3个独立的终端中使用3个命令,这很不方便
和cpx
都不能正确处理tsc-watch
退出,导致各种问题Ctrl+C
tsc watch
和实际服务器)
使用tsc watch
'es--onSuccess
来复制静态文件是不够的,因为模板文件中的更改不会被读取。这可以通过更改源文件中的注释来解决,但这会触发完整的重新编译(重新启动服务器)。
使用也不够,因为它不会接收新文件,并且会进一步污染控制台输出
有没有我可能错过的解决方案?我是否应该编写一个脚本,自动打开所需的3个终端?我最终选择了
尽管不幸的是,在撰写本文时,watch模式已经过时,但它似乎几乎完全符合我的需要:
- 这种方法只需要两个终端(一个用于webpack,另一个用于nodemon)。它并不完美,但比3好多了
- 应自动拾取新文件(尽管当前未100%正常工作)
- 静态文件中的更改不应导致完全重新编译,从而导致服务器重新启动(同样,当前无法100%正常工作)
- 网页包句柄
优雅地退出Ctrl+C
- 对我来说,最重要的原因是:允许我使用该选项指定如何更详细地复制我的文件
ts节点。我相信您可以将onSuccess
添加到tsconfig.json
中<当您更改.ts
文件时,code>ts节点开发人员将监视并重新启动服务器。