如何优化requirejs的模块加载?
前端如果采用requiejs进行SPA开发过程中会产生一堆分散的脚本。如果没有后期的优化过程,会降低页面初始加载的速度。requirejs官方提供有解决方案:r.js。不过该方案是有局限性。比如
var modulename="mymodule";
require(modulename);
这样的情景下,r.js是分析不出来的。也就是说,r.js只能分析静态的依赖关系。动态的依赖r.js是没有办法解决的。需要有更加灵活的优化方案。
解决问题的思路:
1)使用打包工具,将脚本资源静态化打包到一个资源文件。
2)优化requirejs的加载逻辑,根据url判断,需要的脚本是否已经包含在资源文件中了,并优先从资源文件总加载js脚本代码
最近抽空实现下。