# fed-e-task-02-01 **Repository Path**: rpyoyo/fed-e-task-02-01 ## Basic Information - **Project Name**: fed-e-task-02-01 - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简答题 1、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。 一切以提高效率,降低成本,保证质量为目的的手段都属于工程化 在实际项目开发过程中,工程化能帮助解决的问题 + 帮助减少不必要的重复工作,提升开发体验,例如监视代码文件的变化,自动编译,并自动刷新浏览器 + 在前后端分离开发过程中,减少对后端接口服务的依赖,例如前端使用mock功能来模拟接口调用返回数据 + 统一代码风格,保证代码质量,例如使用jslint、eslint等代码检查工具 + 可以使用一些较新的代码特性,以及使用一些代码辅助开发工具,例如使用sass来开发css,使用ES6+的新特性,通过babel插件转换成浏览器支持的标准等 2、你认为脚手架除了为我们创建项目结构,还有什么更深的意义? 脚手架创建的项目结构,本质上是一种对规范化的项目解决方案的提炼与封装,通过交互式的选项,可以提供多种封装好的解决方案供项目团队成员或者开发者自己使用,通过使用脚手架,可以减少繁琐的手动创建项目的过程,同时可以统一项目成员创建项目时的规范 # 编程题 1、概述脚手架实现的过程,并使用 NodeJS 完成一个自定义的小型脚手架工具 脚手架实现的过程主要是: + 通过命令行交互询问用户选项 + 根据用户回答的结果生成相应的文件 NodeJS完成自定义脚手架工具详见 code/01目录 2、尝试使用 Gulp 完成项目的自动化构建 项目说明文件及代码详见code/02目录 3、使用 Grunt 完成项目的自动化构建 项目说明文件及代码详见code/03目录