[Vue CLI 3] 源码系列之init

用惯老版本 Vue CLI 的同学一般多会选择使用如下命令来创建模板项目:

vue init webpack demo

但是在新版中,推荐使用 vue create,官方也提到了:

因为使用了同样一个 vue 命令,所以之前的会被覆盖,如果还需要使用,需要自行安装:

npm install -g @vue/cli-init

我们先看一下,如果本地已经安装了最新版本的 Vue CLI,执行之前的 vue init 会出现什么?

命令行会提示你如下内容:

Command vue init requires a global addon to be installed.

Please run npm install -g @vue/cli-init and try again.

那它背后的设计是如何的呢?

1、首先还是 vue 的一个扩展命令:

我们还是找到 @vue/cli/bin/vue.js,我们发现如下代码:

之前我们也提到过,命令行最核心的基础包是:commander

const program = require('commander')

这里配置了 command、description、option 和 action

program

.command('init