Система шаблонов CouchDB: расширение с отдельным нижним колонтитулом и заголовком
Я использую couchdb\couchapp для размещения веб-приложения. Я из Django, и с помощью jinja2 я могу расширять шаблоны двумя способами:
{% include "header.html"%}
или же
{% extends "base.html" %} <<< ---- предпочтительно
Я ищу способ сделать то же самое с CouchDB, теперь у меня есть код верхнего и нижнего колонтитула, написанный на каждой отдельной странице, и, очевидно, это не выглядит наилучшей практикой.
Заранее спасибо.
1 ответ
Couch db поддерживает распространенные js-модули, что означает, что вы можете экспортировать усы / или другую библиотеку шаблонов в виде строки, а затем использовать ее в своей функции show. Больше объяснений на этот почтовый архив
Если вы хотите использовать JavaScript на стороне сервера, вам нужно сохранить его как свойство в вашем дизайн-документе. Таким образом, в папке "lib" (вне _attachments) вместе с 'couchapp' она будет включена как:
папка couchapp
_id файл
папка |_ _attachments
|_ ...clientside media...
| _ папка lib
| _ mustache.js
<---->
{_id: "", _attachments: {...}, lib: {mustache: ""}}
Тогда вы бы использовали его в функции _show/_list/_update с
var Mustache = require('lib/mustache')
, Когда мне нужна библиотека, как серверная, так и клиентская, с 'couchapp', я склоняюсь к символической ссылке, чтобы она появлялась как в _attachments, так и в других свойствах.надеюсь это поможет,
-natevw