【问题标题】:Backbone not working Node (Headless TDD / Development)骨干节点不工作(无头 TDD / 开发)
【发布时间】: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


    【解决方案1】:

    好的,我可以通过让节点执行要求来完成这项工作:

    jQuery = $ = require("jquery"); requirejs([ 'json2', '下划线', 'backbone', "storydesk", ]);

    现在,我需要插入一个Sinon fakeServer,看看如何

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多