【问题标题】:How can I make the cross-env and nodemon work together?如何使跨环境和 nodemon 一起工作?
【发布时间】:2022-01-18 17:07:02
【问题描述】:

这是我的 package.json 片段。

"scripts": {
    "build": "react-scripts build",
    "dev": "cross-env NODE_ENV=development run-p server start",
    "eject": "react-scripts eject",
    "prod": "cross-env NODE_ENV=production node server", 
    "server":"nodemon -r dotenv/config ./server/index.js",
    "start": "react-scripts start",
    "test": "react-scripts test"
  },    

当我执行以下命令时:

npm run dev

nodemon 工作正常。

但是,当我执行以下命令时:

npm run prod

nodemon 似乎无法正常工作。当我更改 ./server/index.js 的内容时,文件不会重新加载。

更改以下语句时有效:

"prod": "cross-env NODE_ENV=production node server", 

"prod": "cross-env NODE_ENV=production nodemon -r dotenv/config ./server/index.js", 

但是,我不想重复以下阶段:

"nodemon -r dotenv/config ./server/index.js". 

那么,你能告诉我如何让它按预期工作吗?

【问题讨论】:

    标签: npm package.json


    【解决方案1】:

    您应该使用nodemon.json 配置文件。 例如:

    nodemon.json

    {
      "watch": ["src"],
      "ext": "ts, js, json",
      "execMap": {
        "ts": "cross-env NODE_ENV=development ts-node -T"
      }
    }
    

    然后进入package.json,您通常调用nodemon。例如:

    {
      ...
      "scripts": {
        "start:dev": "nodemon ./src/server.ts",
      }
    }
    

    这是typescript 的用法示例,但您可以重新调整为nodejs

    【讨论】:

      【解决方案2】:

      终于找到了解决办法。

      "scripts": {
           ..........    
           "dev": "cross-env NODE_ENV=development run-p server start",
           "eject": "react-scripts eject",
           "prod": "cross-env NODE_ENV=production npm run server", 
           "server":"nodemon -r dotenv/config ./server/index.js",
           ..........    
       },   
      

      【讨论】:

        猜你喜欢
        • 2015-01-29
        • 2020-12-03
        • 2016-02-07
        • 2019-07-04
        • 2015-10-09
        • 2021-01-10
        • 2015-08-04
        • 2017-12-08
        • 2020-02-06
        相关资源
        最近更新 更多