我有一个主干+ requirejs应用程序。
我在IE8中得到了这个No Define call for backbone
我已在IE8中为应用支持启用了enforceDefine
需要配置文件
define([], function(){
require.config({
enforceDefine : true,
shim: {
"underscore": {
deps: [],
exports: "_"
},
"backbone": {
deps: ["jquery", "underscore"],
exports: "Backbone"
},
...
},
baseUrl : 'scripts/',
paths: {
backbone : '../libs/backbone/backbone',
jquery : '../libs/jquery/dist/jquery',
underscore : '../libs/underscore/underscore'
}
});
});
答案 0 :(得分:1)
在你的html文件中:
<doctype!>
<html>
...
<!-- You can load config ahead of require -->
<script type="text/javascript">
require.config({
enforceDefine : true, // +1 for this in IE 8!!
shim: {
"underscore": {
deps: [],
exports: "_"
},
"backbone": {
deps: ["jquery", "underscore"],
exports: "Backbone"
},
...
},
baseUrl : 'scripts/',
paths: {
backbone : '../libs/backbone/backbone',
jquery : '../libs/jquery/dist/jquery',
underscore : '../libs/underscore/underscore'
}
});
</script>
<script data-main="entry-point.js" src="path/to/require.js"></script>
在entry-point.js
中define([deps1, deps2], function(Dep1, Dep2){
...
});