我正在尝试用TypeScript和Angular应用程序运行一个开发服务器,而不是每次都转译ts文件。
我发现我可以用ts-node运行.ts文件,但我也想观看.ts文件并重新加载我的应用程序/服务器。这方面的一个例子是命令gulp watch。
我正在尝试用TypeScript和Angular应用程序运行一个开发服务器,而不是每次都转译ts文件。
我发现我可以用ts-node运行.ts文件,但我也想观看.ts文件并重新加载我的应用程序/服务器。这方面的一个例子是命令gulp watch。
当前回答
添加"watch": "nodemon——exec ts-node——./src/index. "到你的package.json的脚本部分。
其他回答
步骤1:你可以简单地安装nodemon和ts-node(如果你已经安装了,跳过)
npm install --save-dev nodemon ts-node
步骤2:你可以在package.json中配置启动脚本
"start": "nodemon ./src/app.ts"
现在nodemon自动从项目中识别typescript,自己使用ts-node命令。使用npm start,它会自动编译/监视和重载。
如果你得到任何错误,如typescript模块没有在项目中找到。在项目文件夹中简单使用此命令。
npm link typescript
修改后清除控制台日志
Javascript:
"start": "nodemon -x \"cls && node\" index.js",
打字稿:
"start": "nodemon -x \"cls && ts-node\" index.ts",
另一种方法是先在监视模式下使用tsc -w编译代码,然后在javascript上使用nodemon。这种方法在速度上与ts-node-dev相似,并且具有更类似于生产的优点。
"scripts": {
"watch": "tsc -w",
"dev": "nodemon dist/index.js"
},
添加"watch": "nodemon——exec ts-node——./src/index. "到你的package.json的脚本部分。
你现在可以简单地用npm install——save-dev ts-node nodemon,然后用.ts文件运行nodemon,它就可以工作了:
nodemon app.ts
以前的版本:
我在开发环境中也遇到了同样的问题,直到我注意到没有一个demon的API允许我们为了执行自定义命令而改变它的默认行为。
例如,对于nodemon的最新版本:
nodemon --watch "src/**" --ext "ts,json" --ignore "src/**/*.spec.ts" --exec "ts-node src/index.ts"
或者创造一个无恶魔。Json文件,内容如下:
{
"watch": ["src"],
"ext": "ts,json",
"ignore": ["src/**/*.spec.ts"],
"exec": "ts-node ./src/index.ts" // or "npx ts-node src/index.ts"
}
然后无参数地运行。
通过这样做,您将能够实时重新加载ts-node进程,而不必担心底层实现。
更古老的nodemon版本:
nodemon --watch 'src/**/*.ts' --ignore 'src/**/*.spec.ts' --exec 'ts-node' src/index.ts
或者更好:将nodemon的配置外部化为一个nodemon。json文件,包含以下内容,然后运行nodemon,正如Sandokan建议的那样:
{
"watch": ["src/**/*.ts"],
"ignore": ["src/**/*.spec.ts"],
"exec": "ts-node ./index.ts"
}