脚手架原理
脚手架简介
脚手架本质是一个操作系统的客户端,它通过命令执行
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 true
or-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
后会添加的命令为vue
npm 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的小站🔥🔥🔥!