描述
我知道requirejs知道,每一页需要模块与模块
配置条目JS
文件的发展。但是现在有一个很尴尬的问题。如果你有很多的页面,将这个data-main.this是很多文件的入口是真的没有什么理论,但与咕噜结合
压缩后会有很多入口的JS,虽然JS模块配置入口压缩到里面,但
压缩文件的入口实际上是有大量的代码重叠,考虑入口文件认为,使用统一的,然后,结合咕噜压缩只有一个入口文件,也很方便。
实现原理
1。页面
介绍requirejs和
设置ID和当前页面信息的性质
2、根据不同的页面写require.config.js初始化不同的
网页信息
1,所有页面都需要配置
* 2,根据当前页面加载相应的模块,不需要加载模块。
* 3,每个模块应该公开一个init的init初始化
方法来监视页面信息的加载时间。
*
* /
Require.config({
urlargs:版本= 1.0_+(新)GetTime(),
路径:{
jquery: / / / RES JS库/ jquery-1.11.3。民
忧: / / / RES JS库/ Vue。民,
普通
},
Shim:{
滚动:{
该'jquery:{ },
出口:'jquery。FN滚动。
},
忧:{
出口:'vue
},
普通:{ 'jquery}
}
});
需要{、}、
函数($){
需要({常用}、函数(公共){)
无功currentpage = $(#当前页)。Attr(当前页);
无功targetmodule = $(#当前页)。Attr(
目标模块);
如果(targetmodule){
页面加载完成后,相关的业务代码实现更加安全。
$(函数(){())
要求({ targetmodule },
功能(targetmodule){
不要在这里写代码
所有统一调用init
是否将每个模块暴露在init方法中用于事件监视、页面加载等内容。
TargetModule.init(currentpage);
});
});
返回;
}
});
});
三.定义初始化事件侦听和页面信息初始化的init方法的模块
定义({ 'jquery、普通},功能($,常见){
无功newctrl = { };
newctrl.init =功能(页){
common.info(开始初始化页面信息);
};
newctrl.login =函数(){ };
返回newctrl;
});
以上是用requirejs开发多页面和一个
输入JS以小模块的方式。我们希望能帮助你。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您
支持网站。