命令行运行Node.js传递参数

前端 思享 815浏览

当使用以下命令调用 Node.js 应用程序时,可以传入任意数量的参数:

node app.js

参数可以是独立的,也可以具有键和值.

例如:

node app.js joe

node app.js name=joe

这会改变在 Node.js 代码中获取参数值的方式.

获取参数值的方法是使用 Node.js 中内置的 process 对象.

它公开了 argv 属性,该属性是一个包含所有命令行调用参数的数组.

第一个参数是 node 命令的完整路径.

第二个参数是正被执行的文件的完整路径.

所有其他的参数从第三个位置开始.

可以使用循环迭代所有的参数(包括 node 路径和文件路径):

process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`)
})

也可以通过创建一个排除了前两个参数的新数组来仅获取其他的参数:

const args = process.argv.slice(2)

如果参数没有索引名称,例如:

node app.js joe

则可以这样访问:

const args = process.argv.slice(2)
args[0]

如果是这种情况:

node app.js name=joe

则 args[0] 是 name=joe,需要对其进行解析. 最好的方法是使用 minimist 库,该库有助于处理参数:

const args = require('minimist')(process.argv.slice(2))
args['name'] //joe

但是需要在每个参数名称之前使用双破折号:

node app.js --name=joe

推荐阅读

js实现内容超出一定高度后折叠 点击展开收起

200px以外的部分内容被隐藏,底部显示蒙版图层和查看全文按钮。类似的效果请见csdn的博客内容页。#渐变{宽度:100%;高度:50px位置:绝对;底部:0;左:0;背景:-moz-linear-gradient;背景:-WebKit-gradie......

JavaScript实现选项卡切换效果

我一直比较喜欢可以切换的标签页,也就是说在同一个位置可以容纳多个容器,也就是可以容纳更多的内容,没有冗余。我认为这是一个不影响用户体验的可扩展SEO项。网上看如何实现,转载参考。//指定DOM元素类名的方法。单击它以添加活动的...

纯css实现轮播和点击切换效果(无JS)

接下来,根据需要设置ul的长度。这里,首先制作三个切换窗口,因此ul的宽度被设置为容器宽度的300%,li是每次切换时显示的子元素,宽度被设置为所显示容器的100%。所有多余的部分都被隐藏起来,这样我们就可以通过修改ul的margin-left属性的......