首页 > 解决方案 > 带有编译和 nodemon 问题的 Typescript npm 脚本

问题描述

我一直在关注几个关于如何在单个命令中同时运行 tsc -w 和 nodemon app.js 的链接。

我关注的链接: 如何同时执行打字稿监视和运行服务器?

我正在使用 typescript 在 node.js 中开发一个项目。每次 ts 代码发生变化时,我想使用 tsc -w 进行编译,然后使用 nodemon app.js 文件执行运行服务器。问题是我尝试了这两个命令,但它仍然没有运行第二个命令。我不知道为什么它不起作用。

我在 package.json 脚本中使用的命令

"dev1": "tsc -w && nodemon ./.build/src/app.js",

"dev2": "tsc && concurrently \"tsc -w\" \"nodemon ./.build/src/app.js\""

跑 npm run dev1

跑 npm run dev2

目前只有第一个命令正在运行,我无法看到 nodemon 运行时会出现的日志。终端仅在日志下方显示:

Found 0 errors. Watching for file changes

[注意:当我尝试一个接一个运行时,两个命令都运行良好]

使用的版本(有点旧)

打字稿:3.0.1

节点监视器:2.0.7

ts节点:5.0.1

任何帮助将非常感激。我不想使用任何额外的包,比如 ts-node-dev。

标签: node.jstypescriptnpmnodemontsc

解决方案


有几件事需要检查(并仔细检查)

  • 确保您已安装typescript软件包(而不是tsc软件包)。做npm uninstall tsc; npm i -D typescript
  • 确保tsc正确运行命令,例如(或者如果你有一个完整的源目录,则tsc -w app.ts创建一个详细的tsconfig.json
  • 确保您为 nodemon 提供了正确的路径

这是一个开始使用的工作脚本:

mkdir my-ts-project
cd my-ts-project
npm init -y
npm i -D concurrently typescript nodemon
vim app.ts
npx concurrently "npx tsc -w app.ts" "nodemon app.js"

然后您可以更改app.ts并查看反映的更改。


提示:我建议使用而ts-node-dev不是仅用于生产构建。这更容易。nodemontsc


推荐阅读