15

具体来说,我发现“事件”对于开始使用 Couchapp 有点障碍。我真的很喜欢从 CouchDB 提供应用程序的想法,但我想开始而不必弄清楚“事件”(这看起来很有趣,就像我想调查的东西,但不是现在)。我只想使用我现有的 javascript 技能和新的 CouchDB 知识来制作一个简单的 CouchDB 应用程序。有比 CouchApp 更简单的 CouchApp 吗?或者我可以让它更简单吗?还是我应该只喝kool-aid并学习“事件”的东西?

编辑(3个月后):

谢谢大家的回答——这就是我的发现:

您可以轻松使用 CouchApp 的核心功能,而无需喝任何人的 Kool-Aid。具体来说,从 CouchDB 为应用程序提供服务绝对不需要“evently”。CouchApp 的核心优点只是“推送”功能,它从文件和文件夹构建您的“设计文档”——所有其余部分似乎都是您不必使用的整个 javascript 框架。

一旦您克服了弄清楚如何从 CouchDB 实际提供页面和 javascript 的障碍,您就可以按照您喜欢的任何方式构建您的应用程序。它只需要简单的 AJAX 即可获取文档和保存文档,因此可能性无穷无尽!

4

5 回答 5

10

如果您正在寻找替代方案,您可能想尝试Kanso。网站上有教程

Kanso 还可以解决 Dominic Barnes 对使用单页应用程序进行 AJAX 调用的担忧。相反,您可以在可能的情况下将视图呈现在客户端(使其更快),但也可以在必要时在服务器端呈现核心内容,因此搜索引擎和没有 javascript 的用户仍然可以使用它:)

于 2011-05-29T16:21:35.690 回答
4

老实说,我也不喜欢 Evently。但是,我不久前也放弃了 CouchApps,因为它本质上要求您在整个应用程序中使用 AJAX,从可用性的角度来看这并不好。

无论如何,如果您仍想使用 CouchApps,我建议您使用Backbone.JS而不是 Evently。(甚至还有一个用于主干的第 3 方CouchDB 连接器)

于 2011-05-02T14:23:07.000 回答
3

您可以将该_attachments文件夹用作应用程序的文档根目录。例如,如果_idis_design/testapp.couchapprcis 的内容:

{
  "env": {
    "default": {
      "db": "http://USERNAME:PASSWORD@localhost:5984/testdb"
    }
  }
}

然后文件_attachments/index.html位于http://localhost:5984/testdb/_design/testapp/index.html

然后,您可以使用 jQuery 构建您的应用程序,使用getJSON进行查询。或者您可以使用从vendor/couchapp/_attachments/loader.js.

您还可以使用显示列表功能提供动态 html。

于 2011-05-02T08:30:38.783 回答
1

[多年后]

在过去的几年里,我测试了许多不同的“couchapp”工具。这些工具都只是花哨的 JSON 构建器,它们将编写的 Javascript 和附件组合成 CouchDB 文档并将它们推送到数据库。

即使您没有编写严格的 CouchApps(这种炒作也已经消退,尽管它们仍然可行),您仍然需要一个工具来编写 CouchDB 设计文档。

今天,许多这些工具已经死了——特别是 Kanso,它试图做这么多——我们只剩下Python CouchappCouchDB BootstrapEricaDdoc Lab

管理设计文档仍然很复杂,但现在Ddoc Lab是我的首选解决方案,因为它在浏览器中运行,具有许多有趣的功能(如包含和预处理资源)并使用 PouchDB——可能链接到 CouchDB 用于存储你的项目。

于 2016-08-25T20:17:18.647 回答
0

我有一个名为 caster.py 的简单 couchapp 替代品。它确实支持推送、拉取和生成设计文档的规范目录结构。此外,它还为 map/reduce 函数的测试用例创建运行样本,这些函数可以挂接到您的开发过程中。它是一个干净的 Python 文件,没有多余的装饰。

https://github.com/vivekpathak/casters/releases/latest

它不仅是一个用于管理 couchdb 设计文档中代码的完整包 - 它允许使用专业的编程工具,如调试器、分析器、版本控制等。

于 2013-12-16T04:59:17.457 回答