junk1114
@junk1114
Web-программист

Grunt и проблема с файлами (тысячи их). Что делать?

Использую Grunt для нескольких проектов (более 10). В каждом проекте плагины устанавливаются локально в папку node_modules. В каждой такой папке находится ОЧЕНЬ много файлов (100-300 тысяч), что затрудняет копирование папки с проектами, бэкап, синхронизацию и прочее. Есть способ устанавливать плагины глобально или это противоречит их принципам. Как дела с этим обстоят в Gulp?
  • Вопрос задан
  • 2519 просмотров
Решения вопроса 1
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
Ну, вообще обычно копируются только рабочие файлы проекта, без папки node_modules (в частности, когда происходит работа с репозиториями git, папки такого рода помечаются как git-ignore). То-еть, по сути, нужно хранить только package.json, в котором хранится информация обо всех необходимых модулях. После переноса проекта другому разработчику всего-навсего придётся дать консольную команду npm install, и Node.js установит все необходимые модули.

P. S.: Да, в gulp.js всё примерно так же.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
mudrick
@mudrick
Máximo progreso hemos alcanzado en minimo seso.
Использую Грунт для N проектов, но папка node_modules у меня одна (там пара дестяков тысяч файлов), она лежит просто на диске Д, а все проекты просто ссылаются на эту папку (делаю junction утилиткой HardLinkShellExt — она создает ссылки на папки).

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

Единственное, у меня все Грунт-модули всегда одинаковых версий в конфиге package.json — нет такого, что в одном проекте мне нужен некий Грунт-модуль одной версии, а в другом проекте этот же модуль мне нужен другой версии.
Ответ написан
zoonman
@zoonman
⋆⋆⋆⋆⋆
Не знаю как в Grunt, но в Gulp это все модули от Node.js. Вы объявляете все зависимости в package.json и просто исключаете node_modules из бэкапов. npm install является частю процесса деплоя и нет никакого смысла в синхронизации ненужных частей проекта. Кроме того, могу порекомендовать что-то вроде процесса непрерывной интеграции. А вообще идеально хранить код проектов VCS, а данные пользователей в отдельном месте.
Так делается в правильных проектах.
Ответ написан
Ваш ответ на вопрос

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

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