一、工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。 个人见解:工程化就是对代码进行统一管理(压缩,合并,打包,转义)、能够提高效率跟质量(模块化、组件化)、能代替程序员做一些重复性且更加不易出错的一些列方法(自动化); 系统:前端工程化是使用技术、方法来进行前端的开发流程、技术、工具、经验等规范化、标准化,其主要目的为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间; 解决问题和带来价值: 问题1: 使用css3写动画效果手机的兼容问题 在写手机端简单的动画时候 要用到css3 用到css3 就不得不想到手机端的兼容性问题 在解决css3 兼容问题一般采用 css3属性前加浏览器内核前缀的问题 (一般需要兼容谷歌、火狐、ie等几个常见的) 如果手动去加这些兼容css3 前缀也是可以的,但是会浪费大量时间,且容易出错,这样我们把它交给前端工程化的工具 自动在我们生产环境代码加上浏览器兼容内核前缀就可以了。 问题2:就是图片的压缩和自动上传功能、自动打包上传cdn资源 手机网站上的视频、图片都是引用cdn上面资源,可以链接的方式直接或间接的访问到 我们本地开发的时候,可以使用本地资源进行开发,但是项目上线前我们为了能够线上访问到资源 一般需要压缩和上传图片资源到cdn 我们需要手动压缩代码或图片 然后手动将我们的图片资源到图片压缩网站(tiny小熊猫)或者app(智图)里面去压缩和上传资源,浪费时间 有了自动化工具之后这些东西完全可以交给自动化工具来帮我们实现资源的压缩合并还有资源的上传等功能,还大大的提高了开发的效率和开发的成本,写起代码更加的得心应手。 二、你认为脚手架除了为我们创建项目结构,还有什么更深的意义? 使用自定义脚手架可以更快的帮我们生成我们想要的目录结构,有利于团队之间的协作和有后期的维护。