一、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值
指遵循一定的标准和规范,通过工具去提高开发效率,解决开发成本的一种手段,当然这里的工具指的是借助平台,因为工程化并不是一个工具,而是一个规划的流程,重复性高的工作都应该用自动化去解决
解决的问题:
1、代码中有e6+的新特性和方法,虽然可以提高我们的编程效率,但是兼容性有问题 --传统语言和语法的弊端
2、想要使用less/sass等增强css的编译性,但是运行环境不能支持
3、想要使用模块化、组件化来提高代码的维护效率,但是运行环境也不支持 --无法使用模块化、组件化
4、上线过程中做的一些重复性比较高的工作(手动压缩html/css,资源文件),人工做太浪费成本,又更容易出错 --重复的机械性工作
5、项目开发过程中依赖后端服务接口支持,拖长开发周期 --整体依赖后端项目
6、多人协同开发时,代码风格无法统一,从远端pull下来的代码无法保证质量 --代码风格统一,质量保证
主要提现在以下几个方面
a.脚手架工具的开发标
b.自动化构建系统的搭建
c.模块化打包
d.项目代码规范化
e.自动化部署
二、你认为脚手架除了为我们创建项目结构,还有什么更深的意义?
提供开发者一些规定和规范,例如以下:
1.相同的组织架构
2.相同的开发范式
3.相同的模块依赖
4.相同的工具配置
5.相同的基础代码
用于稍大型的项目,便于后期代码维护和版本的迭代