# fed-e-task-02-01 **Repository Path**: shay_cormac/fed-e-task-02-01 ## Basic Information - **Project Name**: fed-e-task-02-01 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-31 - **Last Updated**: 2021-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简答题 **1、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。** 答: 工程化是指遵循一定的标准和规范,通过工具提高效率、降低成本的一种手段 1. 兼容新特性提高开发效率,例如 ES6 2. 编译 Less、Sass、PostCSS 等增强 CSS 的编程性 3. 支持模块化的方式,提高项目的开发与可维护性 4. 提高多人协同开发时,代码风格的统一协调,尽量降低代码冲突 5. 降低对后端接口的依赖,提高前端界面开发时的独立性 6. 减少项目手动压缩代码,资源文件处理的工作 7. 新开项目时,减少相同项目前期定义项目结构、模板等重复性工作     **2、你认为脚手架除了为我们创建项目结构,还有什么更深的意义?** 答: 除了创建项目,更多的是给开发者提供一些项目规范和约定,通常在开发相同类型的项目时都有相同的组织结构、相同的开发范式、 相同的模块依赖、相同的工具配置、相同的基础代码。减轻了项目创建时一些复杂而繁琐的工作,提高项目搭建时的效率。前端技术选型多样,没有统一的标准,有了脚手架就能很好的将编译、压缩、部署等一系列繁琐的工作高效处理,降低开发者在这些重复性操作的工作量。     ## 编程题 **1、概述脚手架实现的过程,并使用 NodeJS 完成一个自定义的小型脚手架工具**     **2、尝试使用 Gulp 完成项目的自动化构建** ( **[先要作的事情](./notes/下载包是出错的解决方式.md)** ) (html,css,等素材已经放到code/pages-boilerplate目录)     ## 说明: 本次作业中的编程题要求大家完成相应代码后 - 提交一个项目说明文档,要求思路流程清晰。 - 或者简单录制一个小视频介绍一下实现思路,并演示一下相关功能。 - 说明文档和代码统一提交至作业仓库。