exports的意思是,针对那些老旧的,没有按照AMD规范声明的代码,把他们暴露在window下的对象名,映射到key上去。
打个比方,假设你的hello.js是老旧的,没按AMD规范的,如下:
(function() {
window.h = {
hello: function() {
alert('hello');
}
};
}());
然后这样配置shim:
shim: {
'hello': {
exports: 'h'
}
}
意思是,当
hello.js加载完毕后,从window.h里取出hello.js定义的内容,赋值给requirejs的hello这个module name。这样的话,当你其他地方需要用到hello.js的时候,就可以:
define(['hello'], function(hhh){
//使用hhh
//至于这里变量名到底是用hhh,还是h,还是hello,无所谓的
});
本文详细解析了AMD规范下RequireJS的Shim配置原理,重点介绍了如何将非AMD规范的模块通过Shim配置使其能在RequireJS环境中正确加载和使用。通过具体示例,阐述了exports参数的作用,即映射非规范模块暴露的对象到指定键名,以便后续模块调用。
296

被折叠的 条评论
为什么被折叠?



