node命令行获取参数
随着前端工程化的演变,在项目中时常会需要自己写一些脚本来方便完成一些自动化的流程操作,而对于前端开发来说,node
可能是首选了,为了我们脚本使用更加灵活,往往需要支持使用者传入一些参数来方便配置使用。
比如我们希望可以这样:
node script.js 1
其中script.js
是我们写好的脚本,1
是我们使用的参数。那么怎样可以在脚本中获取到呢?
便是通过process.argv
获取。
// script.js
const args = process.argv.slice(2);
console.log('process.argv:\n', process.argv)
console.log('参数:\n', args)
process
是一个node
环境下的全局变量,不需要引用,直接使用即可。
process.argv
属性返回一个数组,这个数组包含了启动Node.js
进程时的命令行参数。第一个元素为process.execPath
,Node.js
进程的可执行文件的绝对路径名。第二个元素为当前执行的JavaScript
文件路径。剩余的元素为其他命令行参数。
对于前端可能启动脚本更多的是通过npm script
,可以这样:
// npm script
{
"print": "node script.js"
}
// 执行命令
npm run print 1
或许你想要像其他脚手架工具一样传入--name value
这样格式的参数然后就会发现获取不到--name
,需要这样(前面加--
):
npm run print -- --name 1
这样或许很丑,多余个--
,所以。。。当然还有其他方法啦!那就是
process.env.npm_config_argv
来获取变量了,具体内容可以console
出来自己看
若有收获,望不吝点赞~