sea.js整合layer,如何使用sea.js模块化加载layer.js
1. 我们知道layer.js是基于jquery的web弹窗层解决方案,所以我们使用它的前提是必须先引入jquery,否则就会出现下面的问题

我项目中在seajs.config()中配置了layer的路径

2. 但是一般,只配置是不可以直接在sea.js模块里通过require引用使用的,这是因为我们直接在官网下载的layer.js没有进行模块化,所以需要分析一下源码进行稍微的改造

如上图我们使用cmd规范中的define把layer.js代码包起来,对其进行模块化,但是单是这样是不行的,因为layer是在window对象上拿到的jQuery,使用模块化方式引入jq,
有可能导致window对象中没有挂载jQuery属性

如上,我们在layer源码里加上这行代码,变量e在layer自执行函数中就是window,这样就保证了全局对象window中一定有layer所需要的JQuery,如此我们就可以在sea.js
的模块里通过require("layer") 来引入并使用layer了。

浙公网安备 33010602011771号