繁体   English   中英

使用 Typescript 编译运行 Nodemon?

[英]Run Nodemon with Typescript compiling?

我希望在使用命令tsc保存的每个文件上编译我的打字稿文件。

如何将 tsc 命令与 nodemon 在build:live脚本中运行的命令结合使用

"scripts": {
    "start": "npm run build:live",
    "build:live": "nodemon --watch '*.ts' --exec 'ts-node' app.ts",
 }

此脚本会导致 nodemon 调用自身两次或三次:

"build:live": "nodemon --watch '*.ts' --exec 'ts-node app.ts & tsc'",

Nodemon 现在将使用ts-node自动检测和运行.ts文件。 它实际上也会运行带有python和ruby的.py.rb文件顺便说一句,你可以给它一个自定义的--exec给其他人。 这是 nodemon 中相关代码链接

所以以下应该没问题:

"scripts": {
  "dev": "nodemon app.ts"
}

看起来它会实现你想要的:

"start": "tsc-watch --project . --outDir ./dist --onSuccess \"nodemon ./dist/bin/www.js\""

来源: https : //github.com/Microsoft/TypeScript/issues/12996#issuecomment-349277673

使用当前的答案,您可能会遇到使用 ES 模块的问题。 使用tsc-watch时不需要 nodemon 。 它利用增量编译,使应用程序的重新启动速度更快。

我发现以下最有效:

"start": "tsc-watch --onSuccess \"node ./dist/app.js\""

outDir可以在你的tsconfig定义

从 TypeScript 3.8+ 开始,您现在可以使用:

tsc --watch

https://www.typescriptlang.org/docs/handbook/configuring-watch.html

然后您可以在编译后的代码上使用nodemon ,例如nodemon dist/app.js

您可以在项目根目录中创建一个 nodemon.json 并在其中添加以下代码:

{
 "ext": "*.ts",
 "exec": "tsc && ts-node app.ts"
}

并更新您的脚本,如下所示:

"scripts": {
   "start": "npm run build:live",
   "build:live": "nodemon",
}

发生的情况是,nodemon 将检查所有扩展名为“.ts”的文件,然后启动 tsc,然后启动 ts-node。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM