从0开发一个高性能前端脚手架-第一篇-脚手架简介

163 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情

开发脚手架的核心目标:提升前端研发效能

研发架构图:

图片

脚手架核心价值:

将研发过程:

1.自动化:项目重复代码拷贝/git操作/发布上线操作

2.标准化:项目创建/git flow/发布流程/回滚流程

3.数据化:研发过程系统化,数据化,使得研发过程可量化

和自动化构建工具区别

问题:jenkins, travis等自动化构建工具已经比较成熟了,为什么还需要自研脚手架?

1.不满足需求:jenkins,travis通常在git hooks中触发,需要在服务端执行,无法覆盖研发人员本地的功能,如:创建项目自动化,本地git操作自动化等。

2.定制复杂:jenkins, travis 定制过程需要开发插件,其过程较为复杂,需要使用java语言,对前端同学不够友好

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

脚手架简介

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

vue create vue-test-app

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

1.主命令:vue

2.command:create

3.command的param:vue-test-app

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

当前目录已经有文件了,我们需要覆盖当前目录下的文件,强制进行安装 vue 项目,此时我们就可以输入:

vue create vue-test-app --force

这里的 --force 叫做 option, 用来辅助脚手架确认在特定场景下用户的选择。

还有一种场景:

通过 vue create 创建项目时,会自动执行 npm install 帮用户安装依赖,如果我们希望使用淘宝源来安装,可以输入命令:

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

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

可以通过下面命令查看所有 vue create 支持的所有 options

vue create --help