背景
常需要从运行命令中,获取参数,现有的工具,不能很好的区分npm scripts
与命令行间的参数,所以才有了这个项目。
参考如下场景:
// package.json "scripts": "server": "node index.js --server=3005 --open=index.html"
假设在 package.json
中,配置了 npm run server
命令,能快速启动服务器,并且打开页面 index.html
。
在控制台,我们这样调用:
npm run server --staticDirname=xxx
其中 --dirname=xxx
是决定服务器运行时,静态资源路径来源的。
这时候,我们 process.argv
中,获取到的,只有:
console; // => [node.exe, index.js, '--server=3005', '--open=index.html']
其中的 --dirname=xxx
去哪呢?此项目,解决的,就是这个问题。
API
本项目,把 package.json
中 scripts
自带的参数,称为 inner参数
,命令行中,自己输入的参数,称为 outer参数
。
例子:
const Parser = ;const parser = ; // 定义参数值的转换方法,否则,默认都是字符串 或 Boolean 值// -d xxx => { dirname: 'xxx' }// --server=1000 => { server: 1000 }// -o index.html => { open: 'index.html' }parser ; const data = parser; // 如果是 npm run xxx --param1=xx 则会在 outer 中体现// 否则,都在 inner 中,获取参数console; // argv => { inner: {}, outer: {} }