小结:构建需要解决的问题
a:面向语言
ECMAScript规范的转译,将领先于浏览器实现的JS代码转译成标准的浏览器可识别的规范代码(Babel)
CSS预编译语法转译,将SASS,LESS编写的代码转化为标准CSS语法
HTML模板渲染,将Jade/EJS/Mustache等模板语法转换为标准HTML
b:面向优化
依赖打包,分析文件之间的依赖关系,将同步依赖的文件打包在一起,减少HTTP请求
资源嵌入,将小的图片编译为base64的格式嵌入文档减少HTTP请求
文件压缩,减少文件体积
hash指纹,给文件加入hash指纹应对浏览器缓存策略
c:面向部署
域名/路径改变,开发环境和线上环境域名变化,资源部署的服务器不同
文件名改变,内容改变导致hash指纹改变,则文件名改变
源自:《前端工程化--体系设计与实践》 ——周俊鹏