//moduleA.js
var moduleA = (function(){
})();
$().on.("",moduleA.foo);
//moduleB.js
var moduleB = (function(){
})();
$().on.("",moduleB.foo);
最后打包成一个min.js
但是每个页面都有一些$(function(){})要执行,
怎样根据不同的页面来执行不同的$(function(){})呢??
PS.另外感觉模块化与$(function(){})这种东西很冲突,因为这个东西不是一个模块,
以及那些$().on()事件绑定看起来也很不舒服,应该把他们放在那里?内联吗?如何优化?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你把$(function(){})
初始化代码放在不同的js中
在不同的页面引入这个js文件
例如
A页面,Ainit.js B页面 Binit.js
同时将不同的模块按页面划分,每个页面min自己需要的module
A页面
<script src="../script/jquery-2.1.3.min.js"></script>
<script src="../script/AModule.js"></script>
<script src="../script/Ainit.js"></script>
B页面
<script src="../script/jquery-2.1.3.min.js"></script>
<script src="../script/AModule.js"></script>
<script src="../script/Ainit.js"></script>
$(function(){})
是用来执行初始化工作,执行页面上DOM元素事件绑定使用的
而不是通过它了模块化,$().on()事件绑定要放在和页面DOM相关的模块中
你可以把业务相同的逻辑封装在一个业务模块(LogicModule)中,
和页面DOM相关的逻辑,如事件绑定,封装在DOM模块(ViewModule)中
不同的模块通过第三者,例如自定义事件执行数据通讯,或者再ViewModule中引入LogicModule处理,
但是不要在LogicModule中引入ViewModule