编写类似vue-cli、create-react-app的脚手架插件,熟悉npm包的开发流程,熟悉node在npm里的使用。阅读部分插件源码。
视频教程为辅助,倍速单节课大体逻辑后,编写代码,再将视频代码做比对。
具体实现主体框架与模板库的代码。
可以拿vue-cli做例子,除了vue create创建项目,也可以通过vue ui通过可视化界面去配置项目,所以command相关模块需要有高扩展性,支持后续添加新的功能。
这里使用lerna,原因很简单,lerna是市面上常见的多包管理工具,npm包开发,还是多包前端项目开发都是有很多线上资料可以查询。
这里主要是对这相关的知识的匮乏,node自带api的使用,例如child_porcess,一些window与linux的命令区别,一些路径判断、命令行的输入输出相关常用插件,例如inquirer、semver等。
这里用了lerna的publish,大致熟悉了解了npm发包的基本规则,如个人只能发公开的包,包的版本号更新逻辑等。
根据模块的功能拆分:
npm install @zml-lerna-test/core -gzml-lerna-test init [项目名]本次学习包含了搭建一个脚手架的大体功能,收获的经验有:
child_process、ejs源码。