开发脚手架与封装自动化构建工作流作业
简答题
1、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。
初步认识:所谓工程化是指遵循一定的标准和规范通过工具提高效率的一种手段,一切以提高效率、降低成本、质量保证为目的的手段都属于工程化。
解决的问题:
(1)重复的机械工作,比如部署上线前需要手动压缩代码及资源文件,部署过程需要手动上传代码到服务器。
(2)团队开发时,很难做到风格统一,保证质量的完成需求开发
(3)部分功能需要等待后端服务接口完成以后才可以进行开发
(4)无法使用模块化或组件化组织代码
2、你认为脚手架除了为我们创建项目结构,还有什么更深的意义?
意义:脚手架可以帮我们快速生成项目,创建项目基础结构。不仅是创建项目基础结构,更重要的是给开发者提供一种约束和规范,例如:相同的组织结构,相同的代码开发范式、相同的模块依赖、相同的工具配置,相同的基础代码。更加利于代码维护与团队开发。
编程题
1、概述脚手架实现的过程,并使用 NodeJS 完成一个自定义的小型脚手架工具
项目文件:链接
2、尝试使用 Gulp 完成项目的自动化构建
项目文件:链接
项目说明文档:链接