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,无所谓的
});