# fed-e-task-02-01 **Repository Path**: learning-summary/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**: 2020-12-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简答题 #### 1、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。 > **前端工程化**就是通过一定的标准,利用工具简化流程,提升效率,降低成本。 > > **前端工程化能解决的问题:** > > 1. 解决传统语言或语法的弊端,比如:ES6兼容的问题 > > 2. 解决无法使用模块化/组件化,比如写一个官网,传统html无法组件化 > > 3. 解决重复的机械式工作,一些打包,压缩模板,还有上限等操作 > > 4. 解决风格统一、质量无法保证的问题,比如多人协作的问题 > > 5. 解决过度依赖后端服务接口和后端项目,比如后端没开发,前端就没有数据开发。 #### 2、你认为脚手架除了为我们创建项目结构,还有什么更深的意义? > 让开发者有相同的约束,可以更加规范的开发。 > > 1. 创建相同的组织结构 > > 2. 相同的开发范式 > > 3. 相同的模块依赖 > > 4. 相同的工具配置 # 编程题 #### 1、概述脚手架实现的过程,并使用 NodeJS 完成一个自定义的小型脚手架工具 > 1. 首先yarn init 下, 新建bin目录写个index.js ,不过注意index.js中头部要加上#!/usr/bin/env node > > 2. 然后再package.json中的bin字段指向 bin/index.js > > 3. 在bin/index.js利用插件工具实现一些功能。 > > 4. 然后npm login 和 npm publish 发布脚手架 #### 2、尝试使用 Gulp 完成项目的自动化构建 项目基础代码下载地址: 百度网盘:https://pan.baidu.com/s/1AyGApMTFEfCeGfQBdykOGg 提取码: bw3r ## 说明: 本次作业中的编程题要求大家完成相应代码后(二选一) 1.  简单录制一个小视频介绍一下实现思路,并演示一下相关功能。 2.  提交一个项目说明文档,要求思路流程清晰。 最终将录制的视频或说明文档和代码统一提交至作业仓库。