我已经设法使我的Backbone应用程序与IE8-IE Edge一起工作。。。Yey:)
最后一块石头是IE7-我得到以下主干错误:
'JSON' is undefined - file: backbone.js
IE控制台突出显示了骨干库代码的某些部分:
s.data=JSON.stringify(i.attrs||e.toJSON(i)
根据我读到的内容,我必须加载JSON2或JSON3库,因为IE7没有它
好的,在谷歌上搜索并转到以下库-JSON 3:
http://cdnjs.cloudflare.com/ajax/libs/json3/3.2.6/json3.min.js
现在,我使用require-js来加载我的应用程序,我不知道如何将其与我的应用配置集成
它的依赖项是什么,它导出什么
以下是我对require-js:的配置
/**
* Config.
*/
require.config({
paths: {
"jquery" : "libs/jquery",
"underscore" : "libs/underscore",
"backbone" : "libs/backbone",
"text" : "libs/require/text",
"global" : "libs/global",
templates: '../templates'
},
shim: {
backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
},
underscore: {
exports: '_'
},
text : {
exports : 'text'
}
},
global : {
deps: ["jquery"],
exports : 'Global'
}
});
require([
'jquery',
'underscore',
'backbone',
'router',
'global'
], function ($, _, Backbone, Router) {
// Compatibility override, add a close function for the Backbone views.
var router = new Router();
Backbone.history.start();
});
有什么想法吗?
首先将json库添加到您的路径配置中:
paths: {
"json": "http://cdnjs.cloudflare.com/ajax/libs/json3/3.2.6/json3.min.js",
"jquery" : "libs/jquery",
"underscore" : "libs/underscore",
"backbone" : "libs/backbone",
"text" : "libs/require/text",
"global" : "libs/global",
templates: '../templates'
},
json库没有依赖项,并导出一个全局变量json。您需要使主干库依赖于json库,并使用填充配置加载json库。见下文:
shim: {
json: {
exports: 'JSON'
},
backbone: {
deps: ["underscore", "jquery", "json"],
exports: "Backbone"
},
underscore: {
exports: '_'
},
text: {
exports: 'text'
}
}