阿里巴巴服务端的模块加载器:StyleCombine

jopen 10年前

styleCombine 提供了一套促成更彻底的应用模块化开发与性能自动化保障的解决方案,并创新性的提出了服务端的模块加载器的构建思路,是降低前端开发成本,提升应用性能和可维护性的利器,目前已经在阿里巴巴中文站全站得到广泛的应用。

功能介绍

styleCombine 是一个服务器端的模块加载器,它能够帮助我们实现以下功能:


  • 将 HTML 页面上的多个 js/css 请求自动地合并成一个请求,发送给 combo 服务器。 --- 促进应用模块化架构

  • 对于入口的 AMD/CMD 模块,能够自动解析出模块的深层依赖关系,并将所依赖文件及页面上的其它 js 文件合并为一个请求发送。 --- 自动提取、无需配置

  • 对 HTML 页面中每个 js/css 链接都会根据文件内容自动地添加版本号后缀,js/css 内容更新将触发版本号的实时更新,使得浏览器端缓存或 CDN 缓存能够强制失效。 --- 降低 CDN 部署成本

与浏览器端的模块加载器(requireJS、seaJS )不同,以上所有的工作都发生在服务器端,是对 html 源码的直接改变,能够做到浏览器端加载器所不能完成的功能,并取得更好的加载性能,故称之为服务器端的模块加载器。

系统构成

styleCombine 主要由三大部分组成:

系统的正常运作需要以上三大模块的配合使用,请分参照每个模块自己的配置文档进行安装。

项目主页:http://www.open-open.com/lib/view/home/1401938211150