2013-12-20 2 views
6

Я подумываю переместить некоторые службы REST в NodeJS. Единственное, о чем я беспокоюсь, это архитектура такого решения.Как сделать чистую архитектуру для RestAPI на NodeJs

Есть ли это где-то в качестве ориентира? Конечно, я видел некоторую библиотеку, такую ​​как рестифицировать. Это хорошее начало, но этого недостаточно.

Я ищу разделение слоя, инъекцию зависимости, модульные тесты, csrf и многое другое.

+0

как восстановить «недостаточно»?тесты могут быть написаны множеством инструментов тестирования 'mocha',' jasmine' .. – Gntem

+0

RestAPI, NodeJs и любые фреймворки - это просто инструменты, а не архитектура .... http://www.youtube.com/watch?v=WpkDN78P884 – inf3rno

ответ

3

Посмотрите здесь: http://nodeframework.com/

Это список структур Nodejs для различных целей. Вы будете показывать веб-страницы? Вероятно, вы выберете одну из моделей MVC. Просто создайте API? Вам просто понадобится одна из REST API-фреймворков.

Выбор для ведения журнала, модульные тесты, стиль документации и т. Д. Не является специфичным для узла (хотя он относительно новый). Существует несколько инфраструктур Unit Test, фреймворки регистрации, стили/рамки документации и т. Д. Это справедливо для узлов, а также для Java, C++ и других популярных языков. Разработчики этих фреймворков стараются сделать использование своего программного обеспечения «легким» - в том случае, если вы не привязаны к нескольким зависимостям, можете поменять местами другие части, легко интегрировать их и т. Д.

Если вы ищете решение «все-в-одном», я сомневаюсь, что вы его найдете. Поскольку у каждого есть разные вкусы, для каждой части решения есть несколько вариантов, и вы можете выбрать части, которые работают для вас (и ваши требования/клиент). Что будет в этот раз не лучшим выбором в следующий раз.

Я предлагаю найти пример в режиме онлайн, который близок к тому, что вы пытаетесь сделать, а затем следовать их примеру или строить из своей демонстрации, используя те же модули.

Редактировать: Следуя первой ссылке, существует устаревший список фреймов от Joyent here.

Редактировать2:This particular part Список Joyent может быть вам полезен. Возможно, этот стиль модуля «Boilerplate» поможет вам в поиске.

2

Проверьте это: https://github.com/neiesc/ListOfMinimalistFrameworks#web-framework-for-nodejs

Я использовал экспресс и Коа, и они оба были очень хороши для REST архитектуры.

Существует также рестайлинг и множество других фреймворков, что упрощает создание чистого REST API.

Большинство этих фреймворков поддерживают тестирование, инъекцию зависимостей и многое другое. Я бы предложил попробовать Express.js, потому что это лучший.

4

Вы можете проверить этот пост: https://solidgeargroup.com/clean-architecture-in-nodejs

Где некоторые образцы для чистой архитектуры обсуждаются, например, создание адаптер слоя, чтобы изолировать бизнес-логику от рамок, сделать код более многоразовым и проверяемым ..

код примеры включены для подключения к REST и API GraphQL. А также для модульных испытаний и подключения mongo db

Смежные вопросы