无法让 TypeScript 监视我的项目和 nodemon 重新加载它
Posted
技术标签:
【中文标题】无法让 TypeScript 监视我的项目和 nodemon 重新加载它【英文标题】:Unable to get TypeScript watching my project and nodemon reloading it 【发布时间】:2018-11-29 16:06:07 【问题描述】:命令tsc -w -p server
观察server
目录将TypeScript 编译到dist/server
文件夹中(dist/server/app.js
是主要的Node 脚本)。
命令nodemon -w dist/server dist/server/app.js
监视dist/server
文件夹并在发生变化时重新加载dist/server/app.js
。
问题:如果我同时运行两个命令,tsc
将需要一些时间,但nodemon
启动太快,而dist/server/app.js
尚不存在。
concurrently \"tsc -w -p server\" \"nodemon -w dist/server dist/server/app.js\"
另一方面,如果我按顺序运行命令,我会丢失nodemon
输出(即服务器输出),因为tsc
会监视更改并“窃取”控制台输出:
tsc -w -p server\ && nodemon -w dist/server dist/server/app.js
我已经使用nodemon 和npm-run-all 测试了这两种策略,这是一种流行的替代方案。
相关问题(接受的答案并不能解决问题):
Is there a way to use npm scripts to run tsc -watch && nodemon --watch?【问题讨论】:
另一组可能的答案:***.com/questions/41853422/… 【参考方案1】:为nodemon
添加 1000 毫秒的延迟解决了我的问题。
https://github.com/remy/nodemon#delaying-restarting
nodemon.json
"watch": ["build"],
"ext": "js",
"exec": "npm start",
"delay": 1000
package.json
"name": "demo",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node build/index.js",
"ts": "tsc -w",
"nodemon": "nodemon",
"code": "concurrently -n ts,nodemon npm:ts npm:nodemon"
,
"devDependencies":
"concurrently": "^4.1.0",
"nodemon": "^1.18.9",
"typescript": "^3.2.2"
tsconfig.json
"compilerOptions":
"module": "commonjs",
"esModuleInterop": true,
"target": "es2017",
"noImplicitAny": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "build",
"baseUrl": ".",
"paths":
"*": [
"node_modules/*",
"src/types/*"
]
,
"include": [
"src/**/*"
]
npm run code
【讨论】:
以上是关于无法让 TypeScript 监视我的项目和 nodemon 重新加载它的主要内容,如果未能解决你的问题,请参考以下文章
使用 VSCODE 进行调试无法在 Webpack + Typescript + 无框架中工作
Typescript、Airbnb 和 eslint 导入/无外部依赖项(带别名)
无法初始化监视插件“node_modules/jest-watch-typeahead/filename.js”: