Вернувшись к этому вопросу, я поделился своим анти-клиентским мнением с Чарли Роббинсом из Nodejitsu. Он понял и сказал, что Cradle приобрела много функций и действительно стоит затрат на концептуальную сложность.
JasonSmith
1
Cradle был в основном неактивным в течение нескольких месяцев, только с обновлениями технического обслуживания от команды nodejitu.
dscape
2
@dscape: На момент написания моего ответа это был самый популярный и активный модуль. Вы можете отредактировать его, если хотите, и сначала добавить свою нано-библиотеку.
yojimbo87
Я не удалил, но добавил правку. я думаю, что это имеет больше смысла
dscape
71
При начале работы, не использовать библиотеки CouchDB в NodeJS!
Их несколько, однако они в основном представляют собой тонкие слои, покрывающие HTTP API. Но у Node очень сильная поддержка HTTP. Больше не проблема делать простые HTTP-запросы. Так проще. Он менее подвержен ошибкам. Когда CouchDB добавляет функцию, вам не нужно ждать поддержки библиотеки. Вы лучше узнаете и поймете CouchDB. Вначале стоит избегать библиотеки.
Я использую встроенный querystringмодуль, а также библиотеку запросов Майкала Роджерса , которая представляет собой сверхтонкую удобную библиотеку HTTP.
Хороший совет. На самом деле я сделал оболочку JavaScript для CouchDB :)
cllpse
спасибо за предложение модуля "querystring". request - безусловно, самая надежная и простая библиотека для работы
Tomo
1
Да, когда я начинаю, первое, что мне нравится делать, - это переписывать уже написанный и протестированный код. Подожди, мне это не нравится.
Майкл Коул,
2
Сарказм бесполезен. Этому ответу почти четыре года; хотя я по-прежнему поддерживаю его, потому что суть ответа в том, что CouchDB настолько прост, используйте написанную, хорошо протестированную библиотеку HTTP , а не CouchDB. Но я также использую и рекомендую Nano. Это замечательный пример легкой библиотеки, полезной, но не мешающей.
JasonSmith
Это правильно. Ты понял.
JasonSmith,
44
Я автор нано . Начиная с CouchDB, я поступил так, как советовал Джейсон Смит, используя библиотеку запросов Mikeals. Nano родился благодаря использованию этого кода в производстве и осознанию того, что у меня есть код, который можно улучшить и абстрагировать.
Конечный результат минималистичен, и у вас все еще есть способ спуститься до уровня запроса и выполнить запрос (что многие пользователи делают).
Nano был действительно хорошо принят командой CouchBase, в основном потому, что он очень простой и хорошо соответствует API.
Я написал очень чистую и простую оболочку HTTP API под названием node-couchdb-api. Он не добавляет никаких дополнительных функций, таких как ORM, и следует типичным соглашениям Node.js для обратных вызовов и асинхронного кода.
При начале работы, не использовать библиотеки CouchDB в NodeJS!
Их несколько, однако они в основном представляют собой тонкие слои, покрывающие HTTP API. Но у Node очень сильная поддержка HTTP. Больше не проблема делать простые HTTP-запросы. Так проще. Он менее подвержен ошибкам. Когда CouchDB добавляет функцию, вам не нужно ждать поддержки библиотеки. Вы лучше узнаете и поймете CouchDB. Вначале стоит избегать библиотеки.
Я использую встроенный
querystring
модуль, а также библиотеку запросов Майкала Роджерса , которая представляет собой сверхтонкую удобную библиотеку HTTP.источник
Я автор нано . Начиная с CouchDB, я поступил так, как советовал Джейсон Смит, используя библиотеку запросов Mikeals. Nano родился благодаря использованию этого кода в производстве и осознанию того, что у меня есть код, который можно улучшить и абстрагировать.
Конечный результат минималистичен, и у вас все еще есть способ спуститься до уровня запроса и выполнить запрос (что многие пользователи делают).
Nano был действительно хорошо принят командой CouchBase, в основном потому, что он очень простой и хорошо соответствует API.
Если вы хотите узнать больше, ознакомьтесь с этим сообщением в блоге: http://writings.nunojob.com/2011/08/nano-minimalistic-couchdb-client-for-nodejs.html
источник
Я написал очень чистую и простую оболочку HTTP API под названием
node-couchdb-api
. Он не добавляет никаких дополнительных функций, таких как ORM, и следует типичным соглашениям Node.js для обратных вызовов и асинхронного кода.источник