2017-01-27 15 views
0

Я новичок в веб-разработке и NodeJS, и я реорганизую наше приложение (структуру кода и каталогов).NodeJS - структура структуры каталогов

И я хотел бы получить мнение более опытных разработчиков о шаблоне структуры файла, который я бы хотел использовать.

обычно MVC структура приложение может выглядеть следующим образом:

/config 
/server 
    /controller (business logic) 
    /models (contain all models) 
    /routes (contain all routes) 
    /middlewares (express middleware) 
/views (server templates) 
/app (contain JS client app) 
/public (assets, ...) 
/test 

Эта структура позволяет нам группировать файлы заботой.

Но что, если мы используем приложение структуру, что группы файлов по услугам - например:

/config 
/lib 
    /middlewares (express middlewares) 
    /services (utils modules, db modules, ...) 
    /config 
/views 
/public 
/app 
/server 
    /user 
     /routes 
     /logic 
     /test 
     /model 
     /validation-schema 
     /... 
    /articles 
     /routes 
     /logic 
     ... 

Представлений, шаблонный и клиентские каталоги одинаковы, как и в первой структуре. Это больше о структуре API-интерфейса сервера.

Это позволяет нам иметь все файлы, связанные с пользовательским объектом в том же каталоге. Включая тест, модели, маршруты.

Что вы думаете об этом?

ответ

2

Вы собираетесь начать религиозную войну @SimonBruneaud. :). Обе версии полностью жизнеспособны, многие люди тоже используют. Второй вариант несколько более модульный, и на самом деле вы могли бы разработать и обновить каждую из вспомогательных папок сервера в виде отдельных модулей npm, если хотите. среда MEAN использует что-то подобное, хотя на самом деле они упаковывают все (включая клиентский код и шаблоны) вдоль этих строк.

В конечном счете, я думаю, что это вопрос личных предпочтений, и я подозреваю, что ваш вопрос будет закрыт в качестве Первичного мнения в ближайшее время.

+0

Спасибо за ваш ответ. Имейте это в виду. –

+0

Np. Я не указал на сложность модульного дизайна, который, как я обнаружил, является неизбежной взаимозависимостью. Например, ваш модуль «статей» почти неизбежно должен знать и импортировать из вашего модуля пользователя. Не является непреодолимым, но это означает, что вещи никогда не будут столь отделены друг от друга, как может предположить исходная файловая структура. – Paul

+0

Да, поэтому я не знаю, можно ли использовать модульный шаблон. Наша команда собирается работать над архитектурой микросервиса, и для этого модульная структура позволяет нам легко управлять фрагментами кода. –

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

  • Нет связанных вопросов^_^