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

问题描述 投票:0回答:1

我有以下命令:

  "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在项目根目录下)

npm nodemon ts-node
1个回答
1
投票

为了使其工作,我必须将

'
替换为
\"
&
"\
。所以脚本看起来像这样:

  "scripts": {
    "dev": "npx nodemon --watch \"src/**/*.ts\" -e ts --exec ts-node --esm src/index.ts"
  },
© www.soinside.com 2019 - 2024. All rights reserved.