Node获取npm命令行参数

2019-06-06326次阅读node

process.argv

process.argv属性返回一个数组,其中包含当启动Node.js进程时传入的命令行参数。第一个元素是node执行文件路径。 第二个元素将是正在执行的JavaScript文件的路径。 其余元素将是任何其他命令行参数。

gulp构建任务为例:

package.json

"scripts": {
    "start": "gulp",
    "build": "gulp build",
    "clean": "gulp clean",
    "cleanModule": "gulp cleanModule"
}

gulpfile.js打印

console.log(process.argv);

命令行运行:

npm run start

[ 'C:\\Program Files\\nodejs\\node.exe',
  'F:\\mobilegames\\pcsdk\\shunwang20190429\\node_modules\\gulp\\bin\\gulp.js' ]

命令行运行:

npm run build

[ 'C:\\Program Files\\nodejs\\node.exe',
  'F:\\mobilegames\\pcsdk\\shunwang20190429\\node_modules\\gulp\\bin\\gulp.js',
  'build' ]

命令行运行:

npm run build test

[ 'C:\\Program Files\\nodejs\\node.exe',
  'F:\\mobilegames\\pcsdk\\shunwang20190429\\node_modules\\gulp\\bin\\gulp.js',
  'build',
  'test' ]
[16:00:22] Using gulpfile F:\mobilegames\pcsdk\shunwang20190429\gulpfile.js
[16:00:22] Task never defined: test
[16:00:22] To list available tasks, try running: gulp --tasks
说没有test任务。

 

process.env

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

npm_config_来直接方便地获取参数。

gulpfile.js打印

console.log(process.env.npm_config_dirname);

命令行运行:

npm run start --dirname

true

命令行运行:

npm run start --dirname=szsg54

szsg54

process.env.npm_config_argv获取多个参数

gulpfile.js打印

console.log(JSON.parse(process.env.npm_config_argv).cooked);

process.env.npm_config_argv就一个字符串,所以需要JSON.parse方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。

命令行运行:

npm run start --dirname

[ 'run', 'start', '--dirname' ]

命令行运行:

npm run start --dirname=szsg54

[ 'run', 'start', '--dirname', 'szsg54' ]
 

上一篇: form表单控件name与value快速拼接  下一篇: gulp-filter过滤、恢复过滤等文件操作  

Node获取npm命令行参数相关文章