我是 backbone.js
和 require.js
的新手。目前我创建了一个 Backbone 项目。
这是 app.js
代码:
define([
'jquery',
'underscore',
'backbone',
'script',
'router'
], function($, _, Backbone, Script, Router){
var initialize = function(){
Router.initialize();
};
return {
initialize: initialize
};
});
这是main.js
:
require.config({
path: {
jquery: 'libs/jquery/jquery-min',
underscore: 'libs/underscore/underscore-min',
backbone: 'libs/backbone/backbone-min',
script: 'libs/scripts/index'
},
shim:{
backbone: ['jquery', 'underscore'],
script: ['jquery'],
enforceDefine: true
}
});
require([
'app',
], function(App){
App.initialize();
});
最后一个是router.js
:
define([
'jquery',
'underscore',
'backbone',
'script'
], function($, _, Backbone){
var AppRouter = Backbone.Router.extend({
routes:{
'*actions': 'defaultAction'
}
});
var initialize = function(){
var app_router = new AppRouter;
app_router('route:defultAction', function(actions){
});
Backbone.history.start();
};
return {
initialize: initialize
};
});
我要添加jquery-json library到我的项目。如果在 html 项目
中,这是我的代码:
<script type="text/javascript" src="jquery-min.js"></script>
<script type="text/javascript" src="jquery.json-2.4.min.js">
</script>
<script>
function serializeObjToJSON(_obj) {
var _json = $.toJSON(_obj);
return _json;
}
function deserializeJSONToObj(_json) {
var _obj = $.evalJSON(_json);
return _obj;
}
</script>
我想导入上面的库并在我的 Backbone 项目中使用它。但我不知道该怎么做。
非常感谢任何帮助,谢谢。
最佳答案
在您的主 JS 中,您应该添加 JSON 引用。 (将jquery.json-2.4.min.js放入lib/文件夹)
require.config({
path: {
jquery: 'libs/jquery/jquery-min',
underscore: 'libs/underscore/underscore-min',
backbone: 'libs/backbone/backbone-min',
script: 'libs/scripts/index',
json: 'libs/jquery.json-2.4.min'
}
然后您可以将它作为定义添加到 app.js 或任何其他在引用中使用它的 module.js 文件中。
define([
'jquery',
'underscore',
'backbone',
'script',
'router',
'json'
], function($, _, Backbone, Script, Router, Json){
//Code
}
然后在您的 js 文件中您有对 json 的引用。您可以使用
调用它 Json.method()
例如.. 一旦你编写 json,它就会查找你的定义,然后为你调用的函数引用该库。
所以你的 index.js 或者你想调用它的任何一端都需要这样的东西:
define([
'jquery',
'underscore',
'backbone',
'script',
'router',
'json'
], function($, _, Backbone, Script, Router, Json){
serializeObjToJSON: function(_obj) {
var _json = Json.toJSON(_obj);
return _json;
}
deserializeJSONToObj: function(_jsonObject) {
var _returnObj = Json.evalJSON(_jsonObject);
return _returnObj;
}
关于javascript - 在 backbone.js 项目中导入和使用 javascript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505561/