【发布时间】:2011-12-08 14:09:33
【问题描述】:
我正在尝试使用 Vows (BDD) 来测试 MyApp,使用 Backbone(需要 JQuery)。我想使用 NodeJS 进行无头开发,但是当我尝试执行 B) 中的代码时出现错误 A)。基本上,JQuery 对象不在 Backbone 库的范围内。但一切都是需要/导入的,如 C)。有没有人成功让 Backbone 在 NodeJS 上工作。我知道nodechat(下载了代码并尝试运行它)和backbone models on server blog post,示例,但它们不适用于我设置的内容。我正在使用 Node(v0.5.10-pre) 和 Backbone v(0.5.3)。
一)
TypeError:无法调用未定义的方法“ajax” 在 [对象对象]。 (/js/backbone.js:1082:14) ...B)
var fubar = new myapp.models.Fubar(); // 这个类已经有一个 url 集 fubar.fetch();C)
var requirejs = require('js/r.js'); requirejs.config({ nodeRequire: 要求, baseUrl: 'js', }); var 誓言 = 要求('誓言'); var assert = require('assert'); //** 破解获取 JQuery 的 Window 对象 var 僵尸 = 要求(“僵尸”); var browser = 新的僵尸浏览器; browser.window.location = "http://localhost:3000"; 窗口=浏览器.窗口; //** 由于 Sinon 不是为在 NodeJS 中工作而设计的 Hack;放一些存根让它工作 sinon = require('sinon'); var xhr = require("sinon/lib/sinon/util/fake_xml_http_request"); var fakeServer = require("sinon/lib/sinon/util/fake_server").fakeServer; requirejs([ 'jquery-1.6.4', 'json2', '下划线', 'backbone', '_**myapp**_', ]);我假设下划线被拉入并正确使用。但我认为我还没有得到足够的证实。
谢谢
【问题讨论】:
标签: node.js backbone.js