linux 切换env,Node.js process.env 根据环境切换配置文件

process.env 介绍

process(进程)对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,无需使用 require()。

process.env 属性会返回包含用户环境的对象。

文档:http://nodejs.cn/api/process.html#process_process_env

很明显的一个使用场景,依靠这个我们就可以给服务器上打上一个标签。这样的话,我们就能根据不同的环境,做一些配置上的处理。

如何配置环境变量

Windows临时配置

直接在cmd环境配置即可,查看环境变量,添加环境变量,删除环境变量。#node中常用的到的环境变量是NODE_ENV,首先查看是否存在

set NODE_ENV

#如果不存在则添加环境变量

set NODE_ENV=production

#环境变量追加值 set 变量名=%变量名%;变量内容

set path=%path%;C:\web;C:\Tools

#某些时候需要删除环境变量

set NODE_ENV=

Windows 永久配置

右键(此电脑) -> 属性(R) -> 高级系统设置 -> 环境变量(N)...

Linux临时配置

查看环境变量,添加环境变量,删除环境变量#node中常用的到的环境变量是NODE_ENV,首先查看是否存在

echo $NODE_ENV

#如果不存在则添加环境变量

export NODE_ENV=production

#环境变量追加值

export path=$path:/home/download:/usr/local/

#某些时候需要删除环境变量

unset NODE_ENV

#某些时候需要显示所有的环境变量

env

Linux永久配置

打开配置文件所在# 所有用户都生效

vim /etc/profile

# 当前用户生效

vim ~/.bash_profile

在文件末尾添加类似如下语句进行环境变量的设置或修改# 在文件末尾添加如下格式的环境变量

export path=$path:/home/download:/usr/local/

export NODE_ENV = product

最后修改完成后需要运行如下语句令系统重新加载# 修改/etc/profile文件后

source /etc/profile

# 修改~/.bash_profile文件后

source ~/.bash_profile

PM2 配置pm2 start server.js --env production

我看见有资料提示可以这样做,结果测试无效,最后只能在 pm2 的生态系统文件里设置module.exports = {

apps: [{

name: 'cnrestfulapi',

script: './server.js',

env: {

NODE_ENV: 'production'

},

...

]

}

案例

./config/index.js 文件var configDefault = require("./config.default");

var configLocal = require("./config.local");

/**

* 生产环境,配置文件切换

*/

if (process.env.NODE_ENV == "production") {

module.exports = configDefault;

} else {

module.exports = configLocal;

}

./bin/test.js 文件const config = require("../config");

console.log(config);

参考:

https://github.com/ngtwewy/koa-restful-api-seed

https://blog.csdn.net/u012971339/article/details/81876165

真诚赞赏,手留余香

赞赏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值