6

当生成一个新的 couchapp 时,我得到了这个结构:

appname
├── _attachments
│   └── style
├── evently
│   ├── items
│   │   └── _changes
│   └── profile
│       └── profileReady
│           └── selectors
│               └── form
├── lists
├── shows
├── updates
├── vendor
│   └── couchapp
│       ├── _attachments
│       ├── evently
│       │   ├── account
│       │   │   ├── adminParty
│       │   │   ├── loggedIn
│       │   │   ├── loggedOut
│       │   │   ├── loginForm
│       │   │   │   └── selectors
│       │   │   │       └── form
│       │   │   └── signupForm
│       │   │       └── selectors
│       │   │           └── form
│       │   └── profile
│       │       ├── loggedOut
│       │       ├── noProfile
│       │       │   └── selectors
│       │       │       └── form
│       │       └── profileReady
│       └── lib
└── views
    └── recent-items

现在,由于这个结构是为了反映 CouchDB _design 文档的 JSON 结构,所以我想通了:

  • [_attachments] 附件以二进制形式存储。JavaScript、CSS 和 HTML 文件存储在这里。

  • [事件] ???

  • [列表] 列表是执行以从视图结果呈现 HTML 或 AtomFeeds 的 JavaScript 函数。

  • [shows] Show 函数类似于列表函数,但通过将文档转换为其他格式(如 html、xml、csv、png)来呈现内容。

  • [更新] ???

  • [供应商]外部库的主页。

  • [views]View 包含稍后可以通过 HTTP API 查询的 MapReduce 函数(参见 \ref{couchdb:views})。

Appart 希望我填写的描述没有完全错误,我将如何描述更新目录?这是托管验证功能吗?

第二个问题是您将如何描述 evently 目录...

如果有这个已经存在的摘要,请指出它!

亲切的问候!

4

3 回答 3

4

generate命令构建 CouchDB 需要的主干文档格式;它还构建了一个 Web 应用程序开发框架 Evently。我不太了解Evently;但基本上它为开发人员提供了使 UI 和沙发交互的工具和建议。

就个人而言,我从不使用couchappgenerate 命令。我只是_id从头开始创建文件 ( echo -n _design/whatever > _id),然后根据需要创建文件夹和文件。

列表函数(每个文件一个)接收_view输出以产生任何 HTTP 响应(例如 XML RSS)。

显示函数(每个文件一个)接收一个文档以生成任何 HTTP 响应。

更新函数(每个文件一个)接收一个 HTTP查询并输出一个准备好的文档以存储在沙发上。(例如,接收表单提交并构建 JSON 文档。)

视图函数(一个文件夹中的一个map.js和一个reduce.js)是 CouchDB 视图,并提供查询和内容。

我不确定updatesvendor。它们与 CouchDB 服务器无关。

于 2011-04-12T11:02:36.823 回答
4

我已经使用 couchapp 大约一两个星期了。我花了很长时间才掌握了 couchDB 的工作原理以及 couchapp 的适用性。事实上,我遇到了你所遇到的问题,而且我现在确信每个 couchapp 的新手都会有这些问题在他们的脑海中挥之不去。至少为了节省他们的时间,我发布了一些链接,这些链接有助于更好地回答您提出的问题。链接如下:

希望他们有所帮助。

于 2011-07-04T10:05:02.667 回答
3

更新函数记录在 CouchDB wiki中。引用它:

[...] 您应该将 _update 处理程序视为 _show 函数的补充,而不是 validate_doc_update 函数。

Evently记录在 CouchApp 网站上。文档很薄弱,我在一个项目中使用它,我发现只有一篇简短的博客文章包含有用的信息。幸运的是,源代码很容易理解。但请查看Pages应用程序以了解示例用法。无论如何,我不清楚它用了多少

于 2011-04-13T18:31:54.003 回答