
Node 项目参数配置化,命令行参数

前言
对于工程化的 Node 项目,如果设置配置系统参数,可以改变项目的参数耦合性。
本文记录三种参数配置的方法。
一、env 变量
process.env参数变量配置
- 
添加 npm 依赖 npm install cross-env -D 
- 
命令行参数设置 javascript"scripts": { "start":"cross-env NODE_ENV=dev API=localost node app.js" }
- 
读取 process.env参数javascriptconsole.log('process.env.NODE_ENV:', process.env.NODE_ENV); 
二、argv 变量
- 
命令行尾部添加参数 (npm 脚本命令) javascript"scripts": { "argv": "node app.js --app name=levenx" }
- 
或者直接控制台输入执行 javascriptnode app.js --app name=levenx
- 
自定义参数读取 `process.argv console.log(process.argv.splice(2))  从上图可以可以看出,process.argv 参数只是把命令行后自定义的参数进行空格分割,并没有把参数进行加工,需要开发者自己按照一定的规则处理参数。 
推荐一个 npm 工具库:minimist
- 
安装依赖 javascriptnpm install minimist
- 
使用方法 javascriptnode app.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
- 
读取参数 javascriptconst argv = require('minimist')(process.argv.slice(2)); console.log(argv); 
三、.env 文件 + dotenv
需要配置的参数变量单独放在一个配置文件.env

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

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

