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

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

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

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

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

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

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 29 ноября 2011

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

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

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

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

http://kansojs.org/

Он отлично справляется с тем, чтобы ваш javascript не работал между сервером и клиентом.

0 голосов
/ 16 декабря 2013

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

Рабочие примеры и тестовые примеры могут особенно помочь вам.

...