# fed-e-task-02-01 **Repository Path**: frontend_site/fed-e-task-02-01 ## Basic Information - **Project Name**: fed-e-task-02-01 - **Description**: 开发脚手架及封装自动化构建工作流 - **Primary Language**: JavaScript - **License**: ISC - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1. 谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决的问题或者带来的价值。 前端工程化是使用软件工程的技术和方法来进行前端项目的开发、维护和管理; 前端工程化应包含如下: 1. 代码规范: 保证团队所有成员以同样的规范开发代码; 2. 分支管理: 不同的开发人员开发不同的功能或组件,按照统一的流程合并到主干; 3. 模块管理: 一方面,团队引用的模块应该是规范的;另一方面,必须保证这些模块可以正确的加入到最终编译好的包文件中(以上两点可以总结为模块化或者组件化开发); 4. 自动化测试:为了保证和并进主干的代码达到质量标准,必须有测试,而且测试应该是自动化的,可以回归的; 5. 构建:主干更新以后,自动将代码编译为最终的目标格式,并且准备好各种静态资源; 6. 部署:将构建好的代码部署到生产环境; ### 2. 你认为脚手架除了为我们创建项目结构,还要什么更深的意义? 脚手架作用是创建项目的初始文件,本质是方案的封装。 脚手架要解决的切实问题,简单说就是: 1. 快速生成配置; 2. 降低框架学习成本; 脚手架的作用: 1、减少时间,不必从零开始搭建初始项目,提高开发效率; 2、便于多人协作,提供项目约定; 3、项目更新同步方便,只需要更新代码库中项目模板,即可下载最新的项目; ### 3. 编码题说明 ```javascript 1. 作业grunt编码: gruntfile.js 2. 作业gulp编码: gulpfile.js 3. 实现脚手架实现的过程,使用yeoman实现,编码在generator-clone-front ```