gpt4 book ai didi

javascript - 使用 Require.js 使 Backbone.js 模块化

转载 作者:行者123 更新时间:2023-11-28 02:18:51 24 4
gpt4 key购买 nike

我正在尝试通过 Backbone.js 使我的 Backbone.js 组件、模型和 View 模块化。然而,每当我尝试 require() 时,它都会返回:

function (){return i.apply(this,arguments)} 

而不是我需要的 Backbone 魔法。

我已经像这样设置了 Require.js:

// Configure require.js
require.config(
{
paths: {
"data": "config"
, "jquery": "libs/jquery.min"
, "underscore": "libs/underscore-min"
, "backbone": "libs/backbone-min"
, "events": "collections/events"
, "eventModel": "models/eventModel"
, "eventView": "views/eventView"
}
, shim: {
underscore: {
exports: '_'
}
, jquery: {
exports: '$'
}
, backbone: {
deps: ["underscore"]
, exports: "Backbone"
}
}
}
);

// Initiate app
require(
[
"data"
, "jquery"
, "underscore"
, "backbone"
, "events"
, "eventModel"
, "eventView"
], function(data, $, _, Backbone, Events, EventModel, EventView) {
console.log(Events);
_.each(["data/general.xml"], function(URI) {
var general = new Events({url: URI});
});
}
);

这是我的 collections/events.js:

define(
[
"backbone"
, "eventModel"
]
, function(Backbone, EventModel) {
"use strict";
var Events = Backbone.Collection.extend({
model: EventModel

, parse: function(data) {
var parsed = [];
$(data).find('Event').each(function(index) {
parsed.push({
title: $(this).find('title').text(),
date: $(this).find('date').text(),
content: $(this).find('content').text()
});
});
return parsed;
}

, fetch: function(options) {
options = options || {};
options.dataType = "xml";
Backbone.Collection.prototype.fetch.call(this, options);
}
});

return Events;
}
);

我希望返回 Events 集合,但显然不是。谁能看出我做错了什么吗?

最佳答案

一切看起来都很好。您所看到的:

function (){return i.apply(this,arguments)} 

是你的类的构造函数。不用理会它。相反,尝试记录new myClass

编辑:
您看不到任何方法,因为它们存储在您的类的原型(prototype)中。调用的 i 函数是“真正的”构造函数(命名为 i 因为它已被缩小)。

关于javascript - 使用 Require.js 使 Backbone.js 模块化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com