npm - 如果我使用 npm run 运行 Nodemon,则 Nodemon 将不会检测到更改

标签 npm nodemon ts-node

我有以下命令:

  "scripts": {
    "dev": "npx nodemon --watch 'src/**/*.ts' -e ts --exec ts-node --esm src/index.ts"
  },

如果我运行 npm run dev nodemon 将成功启动,但如果我更新 src 文件夹内的任何 .ts 文件,nodemon 将不会检测到项目中的更改,也不会重新启动-运行项目。

尽管如此,如果我直接在我的目录中运行 npx nodemon --watch 'src/**/*.ts' -e ts --exec ts-node --esm src/index.ts终端,它也会成功启动,但这次它实际上会检测 src 文件夹中任何 .ts 文件的更改并重新运行项目。

我有以下结构:

├───📁 .vscode/
│   └───📄 types.ts.code-snippets
├───📁 src/
│   ├───📁 entities/
│   │   └───...
│   ├───📁 resolvers/
│   │   └───...
│   └───📄 index.ts
├───📄 .gitignore
├───📄 backend-idea.yml
├───📄 package-lock.json
├───📄 package.json
└───📄 tsconfig.json

我尝试将 'src/**/*.ts' 更改为 "./src/**/*.ts" 并且它的工作方式与以前完全相同.

如果我直接在终端中执行而不是使用 npm run dev ,它只能工作的原因可能是什么?我使用的是 Windows 11、Node v19.9、Powershell 7.3.6。 (pwd在项目根目录下)

最佳答案

为了使其工作,我必须将 ' 替换为 \" & "\。所以脚本看起来像这样:

  "scripts": {
    "dev": "npx nodemon --watch \"src/**/*.ts\" -e ts --exec ts-node --esm src/index.ts"
  },

关于npm - 如果我使用 npm run 运行 Nodemon,则 Nodemon 将不会检测到更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76839681/

相关文章:

node.js - npm 包在本地安装时不可用

node.js - Nodemon 和 Jest,仅在异步运行 Babel 时支持

node.js - 使用 docker compose 运行 Node 容器时出错

typescript - 使用 VS Code 调试在 Docker 容器中使用 ts-node 运行的 TypeScript 应用程序时,如何正确设置断点?

node.js - chromedriver 安装失败

npm - 如何将 browserify 与非 npm 库一起使用?

node.js - 禁用未找到 eslint 规则的警告消息

Node.js - 语法错误 : Unexpected token * when import express

typescript - 有没有办法使用 npm 脚本来运行 tsc -watch && nodemon --watch?

npm - Vuejs : npm run dev not working