我正在尝试用TypeScript和Angular应用程序运行一个开发服务器,而不是每次都转译ts文件。
我发现我可以用ts-node运行.ts文件,但我也想观看.ts文件并重新加载我的应用程序/服务器。这方面的一个例子是命令gulp watch。
我正在尝试用TypeScript和Angular应用程序运行一个开发服务器,而不是每次都转译ts文件。
我发现我可以用ts-node运行.ts文件,但我也想观看.ts文件并重新加载我的应用程序/服务器。这方面的一个例子是命令gulp watch。
当前回答
修改后清除控制台日志
Javascript:
"start": "nodemon -x \"cls && node\" index.js",
打字稿:
"start": "nodemon -x \"cls && ts-node\" index.ts",
其他回答
添加"watch": "nodemon——exec ts-node——./src/index. "到你的package.json的脚本部分。
我已经抛弃了nodemon和ts-node,取而代之的是一个更好的选择,ts-node-dev https://github.com/whitecolor/ts-node-dev
只需运行ts-node-dev src/index.ts
(编辑) 自从我写了这个答案,nodemon已经改进了很多,现在所需的配置更轻了,性能也更好了。我目前使用这两种方法(显然是在不同的项目中),并且都很满意。
你可以使用ts-node-dev
当任何必需的文件发生变化时,它重新启动目标节点进程(作为标准的node-dev),但在重新启动之间共享Typescript编译过程。
安装
yarn add ts-node-dev --dev
还有你的包裹。Json可以是这样的
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"tsc": "tsc",
"dev": "ts-node-dev --respawn --transpileOnly ./src/index.ts",
"prod": "tsc && node ./build/index.js"
}
这里有一个替代HeberLZ的答案,使用npm脚本。
我的package.json:
"scripts": {
"watch": "nodemon -e ts -w ./src -x npm run watch:serve",
"watch:serve": "ts-node --inspect src/index.ts"
},
-e标志设置要查找的扩展, -w设置监视目录, -x执行脚本。
watch:serve脚本中的——inspect实际上是一个node.js标志,它只是打开调试协议。
只需更新这3个包
nodemon, ts-node, typescript
yarn global add nodemon ts-node typescript
or
npm install -g nodemon ts-node typescript
现在你可以运行这个,问题解决了
nodemon <filename>.ts