我已经创建了可以在本地和云中运行的node应用程序现在我希望它以某种方式更流畅和更干净地完成,所以我尝试在config.json文件中放置一些属性来检查我是否要部署应用程序或在本地使用它,但我需要在更改提议之前手动更新此属性,有更好的方法可以用node来完成吗?
let runnerServer = `http://localhost:8060/service/runner/${server.address().port}`;
if (cfg.isHosted) {
blogServer = `http://${serverName}/service/runner/${server.address().port}`;
}
在conig.json中,我有字段isHosted,如果我想部署或不部署,我会手动更改(true/false)...
更新
也许我可以使用process.env.PORT,但这只是我需要在我的代码中使用的一个例子,目前我有几个分支需要知道我是否在部署或本地运行。
2条答案
按热度按时间wsewodh21#
一种选择是在名为
process.env
(https://nodejs.org/api/process.html)的构建对象中使用useNode,并使用两个配置文件本身。这种方法有点类似于你正在做的,但可能是 * 清洁 *然后根据环境设置该对象的属性,如
process.env.NODE_ENV = 'localhost'
或process.env.NODE_ENV = 'production'
,可以读取相应的文件导入配置。因此,要在本地运行时设置这个环境变量,如果
OSX -然后在终端
export NODE_ENV=localhost
上WINDOWS -然后在cmd行
set NODE_ENV=localhost
上mcvgt66p2#
解决这个问题的一个简单方法是,如果每个环境配置都可以在repo中:
config.json:
config.js:
然后在package.json中添加以下脚本:
package.json
使用此设置,您可以使用以下命令运行每个配置:
*生产:
npm run prod
*staging:
npm run stage
*devel:
npm run dev