前言
由于办公和家里的开发环境不同(windows和linux)
在处理nodejs项目的时候,脚本设置变量的时候设置方式不同
使用cross-env
可完美解决配置方式不同的窘境
nodejs使用process.env.PORT
获取对应端口号
一、windows使用
window环境下,nodejs启动配置文件,基于package.json文件配置环境变量
- 配置脚本
set PORT=3001 && set mode=development && node ./bin/www
- 使用,例如在app.js文件使用
console.log(process.env.PORT)
二、linux环境
- 每次执行设置(一般在单次执行脚本,或者临时在全局设置)
PORT=1234 && mode=prod && node app.js
- 一次永久生效(关机后依然有效)
export PORT=1234
node app.js
三、区别
相同点
- 均需先设置变量,再执行对应脚本
- 查看是否存在
echo $NODE_ENV
- 显示所有的环境变量
env
- 删除
unset NODE_ENV
不同点
根据一、二点,windows使用set设置,liunx不需要
四、使用cross-env兼容
项目安装cross-env
npm i cross-env -D
使用
同linux,前面需加上cross-env
标识
{
"name": "admin",
"version": "0.1.0",
"private": true,
"scripts": {
"lstart": "cross-env mode=development PORT=9001 node bin/www"
},
}