Может / должен глотать livereload быть установленным глобально
Я новичок в Node и пока не до конца понимаю, что именно означает локальная установка. Я знаю, что мне нужно установить gulp как глобально, так и локально, но в моем случае у меня есть несколько проектов в отдельных папках в папке разработки, и мне интересно, действительно ли мне нужно установить расширение livereload локально в каждой отдельной папке проекта (что это то, что документация предлагает) не будет ли проще установить его глобально; или локально в основной папке разработки. Может кто-нибудь объяснить, как это работает и какие варианты я бы выбрал.
Точно так же мне интересно, будет ли я установить gulp локально в папке для разработчиков, будет ли это доступно каждому из его дочерних элементов, или мне снова потребуется / я хочу установить его в каждой папке проекта локально.
2 ответа
Вот старая, старая статья в блоге узла js, которая идет локально и глобально. http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation
Основы в том, что если вы хотите требовать require('gulp-livereload')
внутри вашего кода это должна быть локальная (dev) зависимость. Если вы хотите взаимодействовать с модулем через cli, установите глобально. Например, вы можете установить gulp и nodemon глобально.
Смысл локальной установки заключается в том, что кто-то может закрыть ваш проект, набрать 'npm install' и получить все зависимости, локальные для этого приложения.
Чтобы ответить на ваш вопрос, установите gulp-livereload локально. Но другие модули, такие как gulp, nodemon и т. Д. У вас будут как глобальные, так и локальные.
В качестве дополнительной помощи, если вы хотите установить gulp в качестве зависимости проекта, но при этом иметь его глобально, вы можете запустить 'npm link gulp', чтобы синхронизировать их.
Кроме того, вы можете иметь только одну глобальную версию, в то время как, используя локальную, вы можете использовать для конкретного проекта конкретную версию, используемую при ее разработке.