Как структурировать приложение NodeJS в разных модулях? - PullRequest
0 голосов
/ 23 мая 2018

Пока я немного узнал о NodeJS.Но теперь я хочу написать для него огромное корпоративное приложение, и мне интересно, как правильно настроить структуру?Представляю, что, исходя из других языков, таких как PHP и Java, я бы разделил свой проект на разные модули NPM.Например, @ mybigproject / customer, @ mybigproject / cart и @ mybigproject / checkout и так далее.

Но эти подмодули будут установлены в папке node_modules каркаса приложения.Как бы я сказал, например, Express, что файлы шаблона находятся в разных каталогах модулей?Или, например, я использую TypeORM для доступа к данным.Таким образом, каждый модуль будет иметь свой собственный набор моделей.Откуда эти модели знают данные конфигурации базы данных, так как они находятся только в основном каркасе приложения или наоборот, как каркас приложения должен знать, где искать модели?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

NPM может установить вашу локальную папку как зависимость. (ref)

  • npm install :

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

Ваш модуль сохраняет свое первоначальное местоположение после установки, и символическая ссылка создается както же имя папки вашего модуля в папке node_modules верхнего уровня.

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

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

0 голосов
/ 23 мая 2018

Не используйте модули npm для разных частей вашего проекта.

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

Простопоместите его в разные файлы и потребуйте его там, где вам нужно.

Вы можете получить представление о структуре папок из таких проектов, как Sail.JS

Используйте модули npm, если вынаписание какой-либо утилиты, которая будет служить вам для разных приложений, и вы хотите простой способ обновить код утилиты один раз для всех ваших приложений (или в случае, если вы хотите поделиться этой утилитой как с открытым исходным кодом для всех нас)

...