@makerkz

Как реализовать модульную систему на node.js?

Доброго времени суток.

Есть пустое node.js приложение. В нём необходимо реализовать подобную систему - пользователи, новости, статьи, настройки, календарь и т.д. С реализацией всего этого особых проблем возникнуть не должно. Вся проблема в связке этих компонентов и представлении их как модулей. Представим такую ситуацию:

Написана система управления пользователями.
Необходимо создать систему новостей, пишется отдельный новостной модуль (категория, заголовок, дата создания, текст новости), который впоследствии подключается к системе (пользователь может писать новости от своего имени).
Создаётся календарь с событиями (пользователь может создавать свои события в календаре, смотреть события других пользователей), опять же как отдельный модуль.

Получается своеобразная CMS система, которая расширяется добавлением определенных модулей. Боюсь даже приводить в пример Joomla, Wordpress, ModX - я думаю вы сами знаете это). Не могли бы вы посоветовать уроки, или что-то подобное для понимания того, как это должно реализовываться? Связь между всеми этими компонентами, чтобы безболезненно добавлять новые модули.
  • Вопрос задан
  • 3671 просмотр
Решения вопроса 1
rumkin
@rumkin
В nodejs нет mvc в реализации других языков, точнее он есть, но выглядит иначе. А MVC-фреймворки не пользуются особой популярностью, хотя попытки реализовать есть: sailsjs.org и derbyjs.com

Советую изучить принцип работы connect или express, где вы на запрос, как на нитку, нанизываете обработчики, первый сработавший обработчик должен: отдать результат и прекратить выполнение, либо передать выполнение следующему обработчику, возможно, дополнив объект запроса новыми свойствами. Связывание элементов системы происходит разными способами, но обычно это делается через расширение объекта запроса или ответа. Это позволяет вам инкапсулировать модули, делая их менее зависимыми от системы в целом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Приведу ряд подходов которые мне помогли реализовать модульную систему на Node.js

- Отличная статья о модульном подходе в написании приложений
- Фреймворк (от автора статьи) реализующий описанный подход для построения веб-приложений - AuraJS
- Другая более общая реализация - scaleApp
- Можно посмотреть soma.js (статья)
Ответ написан
Комментировать
Dugnist
@Dugnist
Fullstack Node.js Developer (JSBerry, React, Vue)
По модульной архитектуре, предлагаю посмотреть:
https://github.com/Dugnist/jsberry
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы