如何使跨环境和 nodemon 一起工作?
Posted
技术标签:
【中文标题】如何使跨环境和 nodemon 一起工作?【英文标题】:How can I make the cross-env and nodemon work together? 【发布时间】: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".
那么,你能告诉我如何让它按预期工作吗?
【问题讨论】:
【参考方案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",
..........
,
【讨论】:
以上是关于如何使跨环境和 nodemon 一起工作?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 node-inspector 与工头和 nodemon 一起运行?
无法让 nodemon/ts-node-dev 在 dockerized 平均堆栈上工作