脚手架开发:认识脚手架

quote

Take me to the sky for you, for you are my dream.

站在架构的角度,从整体的角度出发,认识脚手架是个怎样的存在以及我们为什么需要它。

从开发的角度看脚手架的必要性

研发效能

从上面的研发架构图可看出,脚手架具有基础功能封装复用、工作流的规范和集成的能力。

脚手架核心价值

  • 自动化:项目重复代码拷贝/git操作/发布上线操作。
  • 标准化:项目创建/git flow/发布流程/回滚流程。
  • 数据化:研发过程系统化、数据化,使得研发过程可量化。

和自动化构建工具区别

  • 不满足需求:jenkins、travis通常在git hooks中触发,需要在服务端执行,无法覆盖研发人员本地的功能,如:创建项目自动化、本地git操作自动化等。
  • 定制复杂:jenkins、travis定制过程需要开发插件,其过程较为复杂,需要使用Java语言,对前端同学不够友好。

从使用角度看什么是脚手架?

脚手架本质是一个操作系统的客户端,它通过命令行执行,比如:

vue create vue-test-app

上面这条命令由 3 个部分组成:

  • 主命令: vue
  • command: create
  • command 的 param: vue-test-app

它表示创建一个 vue 项目,项目的名称为vue-test-app,以上是最一个较为简单的脚手架命令,但实际场景往往更加复杂,比如:

vue create vue-test-app --force

当前目录已经有文件了,我们需要覆盖当前目录下的文件,强制进行安装。这里的--force叫做 option,用来辅助脚手架确认在特定场景下用户的选择(可以理解为配置)。还有一种场景:

vue create vue-test-app --force -r https://registry.npm.taobao.org

这里的-r 也叫做 option,它与--force 不同的是它使用,并且使用简写,这里的-r 也可以替换成--registry

脚手架的执行原理

JUST FOR TODAY

评论没有加载,检查你的局域网

Cannot load comments. Check you network.

eat();

sleep();

code();

repeat();