如何在html中加载requirejs自定义模块
在thinkphp的index.html中,加载了requireJS,requireJS加载了自定义模块。请问如何在前台HTML页面中调用自定义模块里的属性或方法。
index.html
<script src="/Public/vendor/require/require.js" data-main="/Public/main.js"></script>
<a id="a">按钮</a>
<script type="text/javascript">//这里输出common is not defined
console.log(common);
</script>
main.js
requirejs.config({
baseUrl:'/Public/',
paths:{
'jquery':'vendor/jquery/jquery',
'common':'myjs/common'
},
shim: {
'jquery':{
'exports':"jQuery"
}
}
});
require(['jquery','common'],function($,common){
$('#a').click(function() {
console.log(common.username);
});
});
common.js
define(['jquery'],function($){
return ({
username:'AAA'
});
});
——————————————————————————————————————————
请问如何在index.html中调用自定义模块common.js里的属性或者方法?
我是想把一些类似ajax的基本操作,封装到common.js中,在不同的前台页面里,调用common.js中的各种方法使用。
现在好像只能在main.js中加载common模块,然后在整个require方法中去实现业务逻辑,这样感觉main.js会越来越臃肿。
请问实现这样的效果,还有什么更好的办法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不是只能在main.js里调用,是只能在define方法里调用,你可以在index.html里写:
那这两个方法那个更实用呢