CouchDB - обмениваться функциями между представлениями, проектными документами, базами данных

Хорошо, вот в чем дело.

У меня хороший опыт работы с JS, в прошлом у меня была доля JS, и у меня было много классных инструментов, которые я брал с собой из проекта в проект и которые действовали как библиотека.

Я пытаюсь сформулировать работу с CouchDB. Теперь, после того, как вы привыкли к роскоши классных инструментов, которые вы написали, и упростили для вас язык - я немного расстраиваюсь, когда пишу много вещей просто.

Я ищу способ загрузить в контекст базы данных ограниченный, высокоэффективный и универсальный набор инструментов, которые фокусируются на чистом языке и делают работу с языком намного более интересной (и черт возьми, нет, я не говорю о JQuery или любой из еще более грудастых библиотек там).

Если бы помимо этого был найден способ добавить в контекст исполнения JS-движка couchDB некоторые из моих собственных логических инструментов (функции модели BL) - это дало бы замечательную и замечательную силу и сделало бы couchDB новым дом для JavaScript-эр, как я.

Возможно я стремлюсь слишком низко. Я был бы удовлетворен тем, как я могу выделить набор расширений даже для конкретной базы данных, и я не против сделать это для каждой базы данных в отдельности. Или еще хуже - добавить его в каждый проектный документ, чтобы я мог научить, например, несколько представлений в одном и том же дизайн-документе. Person что такое Worker и использовать их методы для извлечения данных из них в соответствии с логикой в ​​многократно кодированном виде.

Кто-нибудь может указать мне путь?

Как бы вы ни указали на меня - я буду очень благодарен. Если есть способы для всего этого - тогда отлично. Поверьте мне, чтобы узнать, какая логика принадлежит тому или иному слою...

Вы открываете мои возможности - я обещаю ими воспользоваться:D

2 ответа

Решение

CouchDB теперь поддерживает совместное использование кода в качестве модулей CommonJS.

http://docs.couchbase.org/couchdb-release-1.1/index.html

http://caolanmcmahon.com/posts/commonjs_modules_in_couchdb

Таким образом, вы можете поделиться своими модулями javascript между представлениями, списками и шоу в одном и том же дизайн-документе. (На стороне сервера)

Кроме того, вы можете загрузить эти модули на стороне браузера с помощью этой библиотеки: https://github.com/couchapp/couchapp/blob/master/couchapp/templates/vendor/couchapp/_attachments/jquery.couch.app.js

Вы также можете посмотреть на Кансо:

http://kansojs.org/

Это действительно делает работу вашего javascript практически незаметной между сервером и клиентом.

Вы можете найти некоторые полезные инструменты здесь: https://github.com/vivekpathak/casters

Бегущие примеры и контрольные примеры могут особенно помочь вам.

Другие вопросы по тегам