我有以下代码.
<script src="js/libs/require.js"></script>
<script>
requirejs.config({
baseUrl:'js/modules/',
paths:{
'bbn':'../libs/backbone',
'underscore':'../libs/underscore'
},
shim:{
'bbn':{
exports:'B',
deps:['underscore']
}
}
})
requirejs(['bbn'], function(B){
console.log(B)
});
</script>
Run Code Online (Sandbox Code Playgroud)
函数参数B未指向Backbone.相反,它被记录为undefined.
我按照以下帖子到达了这一点:
使用RequireJS通过填充程序加载Highcharts并保持jQuery依赖性
我看到两个underscore和backboneJavaScript文件都在firebug下载了.
Underscore也不是AMD兼容,所以请确保你shim也是这样:
requirejs.config({
baseUrl:'js/modules/',
paths:{
'bbn':'../libs/backbone',
'underscore':'../libs/underscore'
},
shim:{
'bbn':{
exports:'Backbone',
deps:['underscore']
},
'underscore': {
exports: '_'
}
}
})
requirejs(['bbn'], function(Backbone){
console.log(Backbone)
});
Run Code Online (Sandbox Code Playgroud)
您将看到正在下载Underscore,但因为它未被定义为正确的模块,RequireJS只会将其视为普通的JS文件,并且不会获得返回值
| 归档时间: |
|
| 查看次数: |
4138 次 |
| 最近记录: |