Модуляризация MEAN проекта
В настоящее время я работаю над проектом, который использует следующие основные технологии: - node.js - экспресс - mongodb + mongoose - bootstrap - angularjs + angular-material
СРЕДНИЙ проект, проще говоря.
Поскольку полученное приложение будет установлено в разных средах, мне нужно организовать проект по модулям, чтобы иметь возможность точно выбрать, какие модули будут установлены. Я не знаю, как это сделать, я смотрел на Yeoman, npm + bower и docker, но я не думаю, что это правильный выбор для такого рода проблем. Я хочу отредактировать только один файл, в котором я указываю, какие модули мне действительно нужны для этой конкретной установки.
Как я могу это сделать?
1 ответ
Вы можете использовать http://mean.io/. Имеет модульную структуру.
ПАКЕТЫ Все в mean.io - это пакеты, и при расширении Mean с помощью пользовательских функций убедитесь, что вы создаете свой собственный пакет и не меняете основные пакеты.
Система пакетов mean.io позволяет разработчикам создавать модульный код, который предоставляет полезные инструменты, которые могут использовать другие средние разработчики. Пакеты, когда они публикуются, являются самонастраиваемыми и используются способом, очень похожим на традиционные пакеты npm.
Система пакетов mean.io интегрирует все пакеты в средний проект, как если бы код являлся частью самого Mean, и предоставляет разработчикам все необходимые инструменты, необходимые для интеграции их пакета в основной проект.
Существует два типа пакетов:
Пользовательские пакеты создаются средним скаффолдером и содержат большую часть логики вашего приложения. Пользовательские пакеты находятся в / packages / custom и могут быть опубликованы как пакет contrib для использования другими разработчиками. Пакеты Contrib устанавливаются средним установщиком и находятся по адресу / packages / contrib. Пакеты Contrib являются "подключи и играй".
Базовые пакеты Все базовые пакеты могут быть переопределены другими пакетами, что позволяет расширять и адаптировать его под ваши конкретные потребности.
Подробнее здесь