其实最开始不是特地来研究 vue-cli
的源码,只是想了解下 node
的命令,若是想要了解 node
命令的话,那么绕不开 tj 写的 commander.js。在学习 commander.js 过程当中发现 vue-cli
的交互方式挺炫酷的,而后就去看了下源码,因此就有了这篇文章。html
vue-cli-analysis 整个项目可大体分为两个部分,一部分是 vue 命令分析,包含 create,add,invoke, ui 等等,另外一部分就是 vue-cli-service 的分析。经过分析发现与 2.X 相比,3.0 变化太大了,经过引入插件系统,可让开发者利用其暴露的 API 对项目进行扩展。在分析以前对插件机制不是很了解,不知道如何实现的,分析以后逐渐了解了其实现机制,并且对于 vue 项目的配置也更加熟悉了。除此以外,在分析过程过程当中还了解了不少有意思的 npm 包,好比 execa, debug, lowdb,lodash,inquirer 等等,最后,若是你想学习 node 命令或者想写一些比较有意思的命令行工具的话,阅读 vue-cli 源码是一个不错的选择。node