学习搭建一个自己的 vue 脚手架 增加 options 一

65 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

三、增加 options 一

引言

这里开始新的学习系列,动手搭建一个属于自己的 vue 脚手架

主要以 vue 官方的 vue cli 作为参考和学习

方便自己在后续创建 vue 项目时,不必总是复制粘贴

--help 提示信息

上一节,漏掉了 --help 指令的 一个 提示信息,如下图所示

image.png

可以看到我们的提示信息,是比较少的,而且很不明确,如何修改呢?

我们在 bin/index.js 文件中,添加

program.name(package.name).usage(`<command> [option]`)

此时我们在命令行,再打出 wzms-cli --help 这个命令,即可看到,我们的提示也变成与 vue cli 的一样了

image.png

增加 options 一

这样我们成功的进行了 命令行指令 的配置

下面我们来新增 options 可选参数的选项

之前我们处理了 --version ,也看到了脚手架命令中 --help 里面的可选 options 参数选项,发现仅仅只有两个,当然 vue cli 也仅仅只有两个

-V, --version
-h, --help

image.png

我们秉着学习的态度,难道 options 里面只有这两个吗,是否可以增加 options 呢?

这里是可以的,由于后续代码太多,我们这里先进行目录结构的大概调整

- package.json
- bin
    - index.js
- lib
    - core
        - options.js
    - utils

lib/core/options 中来添加我们的自定义 options ,添加如下代码

const useOptions = (program) => {
  program.option('-a, --aaa', '测试提供一个options')
}
module.exports = {
  useOptions
}

bin\index.js 文件中,进行引入

const { useOptions } = require('../lib/core/options')

useOptions(program)

image.png

如果使用的话, wzms-cli -a 其实没有任何输出效果,如下图

image.png

那如何让这个 options 生成结果呢?

bin/index.js 文件中,新增一段代码

注意:这段代码的位置,需要在 解析我们的指令 之后,才能生效使用

program.parse(process.argv)

if (program._optionValues.aaa) {
  console.log('这里给控制台打印一条消息!')
}

image.png

成功的展示出我们的消息

总结

这一节,成功的展示了,如何给我们的脚手架,添加 options 可选参数的选项。