【问题标题】:Typescript npm script with compilation and nodemon issue带有编译和 nodemon 问题的 Typescript npm 脚本
【发布时间】:2021-12-15 00:35:56
【问题描述】:

我一直在关注几个关于如何在单个命令中同时运行 tsc -w 和 nodemon app.js 的 SO 链接。

我关注的链接: How do I execute typescript watch and running server at the same time?

我正在使用 typescript 在 node.js 中开发一个项目。每次 ts 代码发生变化时,我想使用 tsc -w 进行编译,然后使用 nodemon app.js 文件执行运行服务器。问题是我尝试了这两个命令,但它仍然没有运行第二个命令。我不知道为什么它不起作用。

我在 package.json 脚本中使用的命令

"dev1": "tsc -w && nodemon ./.build/src/app.js",

"dev2": "tsc && concurrently \"tsc -w\" \"nodemon ./.build/src/app.js\""

运行 npm run dev1

运行 npm run dev2

目前只有第一个命令正在运行,我看不到 nodemon 运行时会出现的日志。终端仅在日志下方显示:

Found 0 errors. Watching for file changes

[注意:当我尝试一个接一个运行时,两个命令都运行良好]

使用的版本(有点旧)

打字稿:3.0.1

nodemon:2.0.7

ts-node: 5.0.1

任何帮助将不胜感激。我不想使用任何额外的包,比如 ts-node-dev。

【问题讨论】:

    标签: node.js typescript npm nodemon tsc


    【解决方案1】:

    有几件事需要检查(并仔细检查)

    • 确保您已经安装了typescript 包(而不是tsc 包)。做npm uninstall tsc; npm i -D typescript
    • 确保正确运行tsc 命令,例如tsc -w app.ts(如果您有完整的源目录,请创建详细的 tsconfig.json
    • 确保为 nodemon 提供正确的路径

    这是一个可以开始使用的工作脚本:

    mkdir my-ts-project
    cd my-ts-project
    npm init -y
    npm i -D concurrently typescript nodemon
    vim app.ts
    npx concurrently "npx tsc -w app.ts" "nodemon app.js"
    

    然后您可以更改 app.ts 并查看反映的更改。


    提示:我建议使用ts-node-dev 而不是nodemon,并且仅将tsc 用于生产构建。比较容易。

    【讨论】:

      【解决方案2】:

      对于那些仍在努力寻找解决方案的人,我终于从Is there a way to use npm scripts to run tsc -watch && nodemon --watch? 找到了一个解决方案

      将以下脚本添加到 package.json

      "dev": "./node_modules/nodemon/bin/nodemon.js -e ts  --exec \"tsc && node ./.build/src/index.js\""
      

      更改代码后,只需使用 npm run dev 运行 dev 脚本即可启动 nodemon 并使其监视 .ts 文件(使用 -e 标志)。然后,每次 .ts 文件更改时,nodemon 都会执行基本上编译和运行节点应用程序的任务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-30
        • 2018-01-14
        • 2020-01-19
        • 2017-09-15
        • 1970-01-01
        • 1970-01-01
        • 2018-12-28
        相关资源
        最近更新 更多