var callback = require(['xxxx/xxx']), callback的值是什么?
已经对require进行了简单的配置,定义了main js
现在在一个js文件里定义如下
define(function(require){
var $ = require('jquery');
return {
fun1:function(){
//TODO Something.
},
fun2:function(){
//TODO Something.
}
}
})
我在想如果用require导入这个js,并将这个赋给一个变量
var callback = require(['xxxx/xxx']);
这样在页面某个地方调用这个js里的search
callback.fun1();
<button onclick="callback.fun2();"></button >
但是现实中得到的callback却是如下结果:
function e(c,d,g){var m,p;n.enableBuildCallback&&d&&L(d)&&(d.__requireJsBuild=!0);if("string"===typeof c){if(L(d))return B(G("requireargs","Invalid require call"),g);if(a&&w(S,c))return S[c](t[a.id]);
返回的是require.js里的makeRequire,想问一下为什么会返回这个呢?
还有个问题是关于requireJS的运行机制是什么呢?
如果有相关requireJS的教程或者资源,希望能分享一下,项目需要,正在学习中,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你这个写法是不符合模块化规范的,在define函数里,你应该这样写
首先谢谢大家的回答!
不过我已经解决了,从这里找到的灵感JS模块化工具requireJS|菜鸟教程
里面有说:
通过define函数定义了一个模块,然后再页面中使用:
来加载该模块(注意require中的依赖是一个数组,即使只有一个依赖,你也必须使用数组来定义),requir API的第二个参数是callback,一个function,是用来处理加载完毕后的逻辑。
这样我就想到是否可以在callback方法中来进行赋值呢?
于是我修改了我的代码:
得到了想要的结果!!