您应该将模板存储在沙发中的何处



在couchDB指南"管理设计文档"中,他们指出

_attachments目录包含作为二进制附件保存到沙发设计文档中的文件。CouchDB直接为附件提供服务(而不是将它们包含在JSON包装中),因此这是我们存储浏览器将直接访问的JavaScript、CSS和HTML文件的地方。

然后在attachments文件夹之外创建一个单独的文件夹来存储模板。这件事已经困扰我一段时间了。我能够将模板包含在我的show函数中的唯一方法是,如果它们位于_attachments文件夹之外。

我可以将模板放在_attachments文件夹中吗?还是应该将它们放在_aattachments文件夹之外?

如果我可以/应该将它们放在_attachments文件夹中,我如何在我的show函数中调用它们?

如果要在服务器端呈现模板(_show_list函数),则它们不能在_attachments中,因为show和list函数无法访问附件。在这些函数中,变量this是从设计文档中复制的Javascript对象。this.templates.foo将来自项目中的templates/foo.html文件。

如果要呈现模板客户端(浏览器),它们可能位于附件中,位于设计文档中。这取决于什么对你更有效。使用存储在附件中的模板,您可以直接获取它们,并在客户端上使用它们;你可以简单地在你的应用程序或网页中链接到它。您也可以将模板留在设计文档中,让客户端获取整个文档。然后,客户端可以从ddoc中使用它想要的任何模板。

通常,您应该将要直接提供给客户端的任何资源放在_attachments文件夹中。

couchapp脚本确实将所有其他内容都放在了设计文档中。

Sofa在服务器端渲染胡子模板。它通过设计文档获取模板:

Mustache.to_html(ddoc.templates.index, stash, ddoc.templates.partials, List.send);

您还可以选择将模板作为附件提供,通过CouchDB的API检索它们,并在客户端呈现它们。

或者,您可以将它们保存在设计文档中,在客户端中检索包含模板的设计文档,并在客户端呈现模板。

在客户端和服务器上都有Javascript,这给了你很大的自由。

最新更新