骨干节点不工作(无头 TDD / 开发)

Posted

技术标签:

【中文标题】骨干节点不工作(无头 TDD / 开发)【英文标题】:Backbone not working Node (Headless TDD / Development) 【发布时间】: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**_', ]);

我假设下划线被拉入并正确使用。但我认为我还没有得到足够的证实。

谢谢

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于骨干节点不工作(无头 TDD / 开发)的主要内容,如果未能解决你的问题,请参考以下文章

ApolloLink 到无头 CMS/跨域域(Wordpress WPGraphQL 端点)不工作:Apache 500 错误

TDD和BDD

BDD TDD

是否有一种无头的方式来导入项目和刷新工作区?

导轨和骨干一起工作

如何让无头浏览器在我的树莓上工作? [复制]