对于工程化的 Node 项目,如果设置配置系统参数,可以改变项目的参数耦合性。
本文记录三种参数配置的方法。
process.env参数变量配置
添加 npm 依赖
npm install cross-env -D
命令行参数设置
"scripts": { "start":"cross-env NODE_ENV=dev API=localost node app.js" }
读取 process.env 参数
console.log('process.env.NODE_ENV:', process.env.NODE_ENV);

命令行尾部添加参数 (npm 脚本命令)
"scripts": { "argv": "node app.js --app name=levenx" }
或者直接控制台输入执行
node app.js --app name=levenx
自定义参数读取 `process.argv
console.log(process.argv.splice(2))

从上图可以可以看出,process.argv 参数只是把命令行后自定义的参数进行空格分割,并没有把参数进行加工,需要开发者自己按照一定的规则处理参数。
安装依赖
npm install minimist
使用方法
node app.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
读取参数
const argv = require('minimist')(process.argv.slice(2)); console.log(argv);

需要配置的参数变量单独放在一个配置文件.env

读取参数方法
npm install dotenv
let env = require('dotenv').config(); console.log(env);

或者
let dotenv = require('dotenv'); dotenv.config(); console.log(process.env);
