node.js - 无法让 TypeScript 监视我的项目和 nodemon 重新加载它

标签 node.js typescript nodemon

命令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 ,一种流行的替代方法。

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

最佳答案

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 运行代码

关于node.js - 无法让 TypeScript 监视我的项目和 nodemon 重新加载它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50949639/

相关文章:

javascript - npm scripts nodemon - 观察 js 和 scss 文件的变化

javascript - Nodemon 自动更新对我的脚本的更改

node.js - 如何将 nodemon/grunt 与 .env 文件一起使用?

PowerPC 440EP 和 PowerPC E300C3 上的 Node.js "Illegal instruction"

mysql - 如何在 MySql 中使用 sequelize 运行多个原始查询?

typescript - 基于字符串的枚举 Typescript 2.4+ 的转换

javascript - 如何在使用 *ngFor 时仅将类设置为特定元素?

javascript - 隐藏使用 Meteor.js 的迹象

javascript - 如何使用node.js正确使用/下载声音并通过客户端播放?

typescript - Visual Studio Code - 调整导入报价设置