脚手架原理
脚手架简介
脚手架本质是一个操作系统的客户端,它通过命令执行
vue create vue-test-app --force -r https://registry.npm.taobao.org
这条命令由四部分组成:
- 主命令:
vue - command:
create - command 的 param:
vue-test-app - option:
--force:可以理解为--force true,可简写为-f trueor-f-r https://...:https://...是-r的param
脚手架执行原理
- 在终端输入命令:`vue create vue-test-app` - 终端解析出`vue`命令:`which vue`(`win`用`git bash`) - 终端在环境变量中找到`vue`命令 - 终端根据`vue`命令链接到实际文件`vue.js` - 终端利用`node`执行`vue.js` - `vue.js`解析`command/options` - `vue.js`执行`command` - 执行完毕,退出执行从应用的角度看如何开发一个脚手架?
vue-cli为例
- 开发
npm项目,该项目中应包含一个bin/vue.js文件,并将这个项目发布到npm - 将
npm项目安装到node的lib/node_modules - 在
node的bin目录配置下vue软连接指向lib/node_modules/@vue/cli/bin/vue.js
这样就完成了在执行vue命令的时候就可以找到vue.js进行执行
疑问?
- 为什么全局安装
@vue/cli后会添加的命令为vuenpm install -g @vue/cli - 全局安装
@vue/cli时发生了什么 - 为什么
vue指向一个js文件,我们却可以直接通过vue命令直接去执行它
开发一个原生脚手架
- 源码cxvh-cli-test
- 安装
npm i -g cxvh-cli-test
原生开发痛点分析:
- 痛点一:重复操作
- 多
package本地link - 多
package依赖安装 - 多
package单元测试 - 多
package代码发布 - 多
package代码提交
- 多
- 痛点二:版本一致性
- 发布时版本一致性
- 发布后相互依赖版本升级
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BARAN的小站🔥🔥🔥!






