NodeJS 命令行(cli)读入参数和多行读入

9 4月

需求描述

有时候我们起一个 node 的程序, 需要用户在启动前输入一些参数,比如用户名密码之类的啦,然后再继续启动程序。这是怎么做到的呢?其实就是用到了 nodejs 的 readline 模块。

代码

CLI 方式传入参数

如果想用 cli 的方式传入参数, 为了方便类似 docker 的启动方式, 那我们就需要用到 node 的 process.argv 了。

process 是 node 自带的变量, 它的 argv 是一个数组, 存放了启动 node 时传入的参数变量。

比如我们有一个 main.js, 在 pacakge.json 中配置了 start 脚本为 node main.js。

那么我们在 main.js 中就能直接用 process.argv 拿到入参了, 比如

这时候 main.js 中打印 process.argv 

这是如果你想用类似 flag 的方法传参, 你可能会发现丢失了 -开头的参数, 比如

所有的 -开头的参数被吃掉了, 怎么办呢?

这时候加入 — 开头 enable cli 的 flag 传参就好了

注意 npm start 后面多了一个 ‘–’

发表评论

电子邮件地址不会被公开。