我有以下命令:
"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/