前端脚手架的差异性和独特性
- java项目存在固定模式和技术选型,但前端项目的资源类型多样,技术选型宽泛,工作流程无固定规范,这些导致了前端脚手架与传统java等的脚手架不一样
前端工程工作流
- 脚手架初始化项目文件后,就没有用武之地了,用完即弃
- 我们甚至可以使用一个已经存在的类似项目,复制粘贴,稍微改改也能实现脚手架功能
- 单独的脚手架,投入产出比很低的
将脚手架置于前端工程体系,作用会被放大,解决最实际的问题
- 快速生成配置
- 降低框架学习成本
- 开发人员只需要关注业务逻辑
Vue-cli的功能
- 创建项目
- 提供模版选择
- 编译
- 本地开发服务器
- 不用担心复杂的webpack的配置了
- 随着前端工程体系功能不断增多,复杂度不断加深,脚手架的作用会越来越重要
前端工程化的3个阶段的各个功能模块执行环境
- 本地工具链阶段
- 云平台阶段和持续集成阶段
脚手架的执行环境始终局限在本地
- 问题:操作系统兼容性
- 有的人不用本机环境,而是适用虚拟机。可以规避操作系统差异引起的开发成本,工程化工具也不必考虑操作西贡兼容性问题
优秀的脚手架
- 与构建,部署,开发等功能联动,在项目创建时生成配置项
- 自动安装依赖
- 动态可配置
- 底层高度可拓展
- 丰富但是不繁琐的配置项
- 支持多种运行环境,比如命令行和node.js
- 兼容各类主流操作系统
脚手架的配置项
一部分由项目类型决定
-影响项目文件内容和类型
一部分由各个功能模块开放的配置api决定
- 影响各个功能模块配置文件的内容
- 可以使用脚手架配置,也可以直接修改生成的配置文件
- 不是所有的api脚手架都提供。脚手架的目的,是让开发人员渐进式地学习配置
结论
- 只将开关配置项交给脚手架开放给用户
- 细节配置项使用默认值(封装在脚手架的方案里)
- 需要修改细节,可以直接修改功能模块的配置文件