无法让 TypeScript 监视我的项目并且 nodemon 重新加载它

2024-01-02

命令tsc -w -p server看着server将 TypeScript 编译到的目录dist/server文件夹 (dist/server/app.js是主节点脚本)。

Command 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\"

另一方面,如果我运行顺序命令 I lost nodemon输出(即服务器输出)因为tsc将监视更改并“窃取”控制台输出:

tsc -w -p server\ && nodemon -w dist/server dist/server/app.js

我已经测试了这两种策略nodemon https://www.npmjs.com/package/nodemon and npm 运行所有 https://www.npmjs.com/package/npm-run-all,一个流行的替代方案。

相关问题(接受的答案不能解决问题):


添加1000ms的延迟nodemon为我解决了这个问题。

https://github.com/remy/nodemon#delaying-restarting https://github.com/remy/nodemon#delaying-restarting

Nodemon.json

{
  "watch": ["build"],
  "ext": "js",
  "exec": "npm start",
  "delay": 1000
}

包.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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法让 TypeScript 监视我的项目并且 nodemon 重新加载它 的相关文章

随机推荐