Несмотря на ответ Victor Nicollet верно, в основном рекомендуется взглянуть на инструменты CLI, такие как CouchApp.- Легкий старт и очень эффективный.Кроме того, эти инструменты стабильны, уже давно достигли зрелости и постоянно совершенствуются благодаря сообществу участников.
Почему?
- Проектный документ представляет собой объекты JSON, иони известны тем, что они перегружают свой редактор.Например - без комментариев, каждая строка, включая ключевые атрибуты, должна быть заключена в строки и т. Д.
- Документы JSON не предназначены для содержания функций.Решение Couch-DB заключается в том, что функции должны быть зашифрованы, что затрудняет их редактирование.От редактора потребуется преобразовать функцию в работоспособный формат, отредактировать ее и снова ее зашифровать.
- CouchDB требует, чтобы обновленный документ совпадал с версией существующей (и возвращает вам следующую версию, когдаобновление прошло успешно).Для этого требуется, чтобы редактор отслеживал версии и использовал их каждый раз, когда он хочет применить обновление.
- Вложения - например, элементарные для повторного использования кода между функциями карты или часто используемые для приложений, которые обслуживаются напрямую.с веб-сервера CouchDB - им трудно управлять, потому что каждое вложение обычно загружается отдельно или с еще большей загрузкой.
Решением этих проблем являются утилиты CLI, которые позволяют редактору работать в обычном режиме.Файлы JavaScript, которые он затем может зарегистрировать в SCM, такие как файлы кода, так же, как он привык, и по команде инструмент CLI преобразует их в действительный для него JSON и загружает его в целевой CouchDB вместе со всеми вложениями.вам нужно обновить, если таковые имеются.
Такие решения - будут:
- CouchApp в двух вариантах (Python и NodeJS)
- Kanzo (то есть вфакт гораздо больше, и не для всех, но, безусловно, стоит упомянуть)
Я лично использую couchapp поверх NodeJS .Удачи:)
ОБНОВЛЕНО, ~ 2 года спустя
Вот еще один инструмент, о котором стоит упомянуть, хотя я должен сказать, что я биос по этому поводу.Это называется ddocs .Он основан на тех же принципах, что и node-couchapp , и направлен на непрерывную интеграцию, а также на развитие личности.Он использует специальный раздел в package.json для хранения информации о развертывании ddocs и позволяет разработчику / сборочному серверу переопределять любую конфигурацию с помощью аргументов CLI.