Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

forum.0day.community _ Программирование _ Терминал (командная строка, CLI)

Автор: Чапик Mar 24 2017, 20:40

Привет.
Изучаю автоматизацию фронт-енда, столкнулся с Нодой, Галпом, НПМ и установкой пакетов через терминал.
Назрели вопросы.

1. Есть флаг "-g" для глобальной установки. Чем он отличается от локальной?
2. Зачем писать "save-dev"?

Автор: vas1 Mar 24 2017, 21:21

(Чапик @ Mar 24 2017, 20:40) Перейти к цитате

Привет.
Изучаю автоматизацию фронт-енда, столкнулся с Нодой, Галпом, НПМ и установкой пакетов через терминал.
Назрели вопросы.

1. Есть флаг "-g" для глобальной установки. Чем он отличается от локальной?
2. Зачем писать "save-dev"?

Глобальная установка подходит для глобальных вещей типа npm или nvm - это установит их в PATH. Если вы пилите какой-нибудь свой проект то лучше инсталлить все локально в node_modules, потому что разные проекты могут зависеть от разных версий одних и тех же модулей, что при глобальной установке может привести к коллизиям.
--save-dev делается в командой строке когда лень открывать package.json и добавлять туда зависимости. npm install blabla --save установит и добавит blabla в секцию depencencies, а npm install blabla --save-dev соответственно в секцию devDependencies.

Автор: Чапик Mar 24 2017, 21:57

(vas1 @ Mar 24 2017, 21:21) Перейти к цитате

Глобальная установка подходит для глобальных вещей типа npm или nvm - это установит их в PATH. Если вы пилите какой-нибудь свой проект то лучше инсталлить все локально в node_modules, потому что разные проекты могут зависеть от разных версий одних и тех же модулей, что при глобальной установке может привести к коллизиям.
--save-dev делается в командой строке когда лень открывать package.json и добавлять туда зависимости. npm install blabla --save установит и добавит blabla в секцию depencencies, а npm install blabla --save-dev соответственно в секцию devDependencies.

Вах, спасибо за скорый и содержательный ответ.

А как можно увидеть модули, которые установлены глобально? И как их удалить?
И хочется понимать, что происходит, когда я ввожу, например, "npm install -g browser-sync"? Т.е. алгоритм работы команды.

Автор: Wissenstein Mar 24 2017, 22:14

Із приводу побачити та видалити модулі — тут усе логічно:

npm list -g
npm list -g blabla
npm uninstall -g blabla

(а з приводу browser-sync нічого не знаю).

Автор: Анттошка Mar 24 2017, 22:23

browser-sync - просто модуль, можно использовать для фронта. Выше же написал vas1 как происходит установка модулей глобально.

Автор: Чапик Mar 24 2017, 23:17

(Анттошка @ Mar 24 2017, 22:23) Перейти к цитате

browser-sync - просто модуль, можно использовать для фронта. Выше же написал vas1 как происходит установка модулей глобально.

Интересует, что именно происходит «под капотом». Как проходит установка.

Автор: vas1 Mar 27 2017, 9:27

(Чапик @ Mar 24 2017, 23:17) Перейти к цитате

Интересует, что именно происходит «под капотом». Как проходит установка.

Я ненастоящий сварщик, но предполагаю что примерно так:
нода скачивает заголовки пакета с npmjs.com и смотрит зависимости
рекурсивно проходит по всем зависимостям (depencencies + devDependencies для --save-dev) и устанавливает их если их еще нету (если локально то проверяется PATH и node_modules, если глобально то только PATH)
после этого устанавливается уже сам пакет

Автор: NigeL Mar 30 2017, 10:26

Для автоматизации фронт-энда уже сделали нормальный инструмент, -> WebPack, которому уже не один год, зачем вы галп используете? Он для другого.

Он именно и заточен под сборку, перегонку и много-чего другого.

Автор: Чапик Mar 30 2017, 19:06

(NigeL @ Mar 30 2017, 11:26) Перейти к цитате

Для автоматизации фронт-энда уже сделали нормальный инструмент, -> WebPack, которому уже не один год, зачем вы галп используете? Он для другого.

Он именно и заточен под сборку, перегонку и много-чего другого.

Спасибо, присмотрюсь.

Автор: Анттошка Apr 2 2017, 20:12

(NigeL @ Mar 30 2017, 11:26) Перейти к цитате

Для автоматизации фронт-энда уже сделали нормальный инструмент, -> WebPack, которому уже не один год, зачем вы галп используете? Он для другого.

Он именно и заточен под сборку, перегонку и много-чего другого.

А для чего gulp?

Автор: NigeL May 14 2017, 7:47

(Анттошка @ Apr 2 2017, 21:12) Перейти к цитате

А для чего gulp?

Запускать какие-то произвольные таски.

Автор: SyntaxError May 14 2017, 16:42

(NigeL @ Mar 30 2017, 11:26) Перейти к цитате

Для автоматизации фронт-энда уже сделали нормальный инструмент, -> WebPack, которому уже не один год, зачем вы галп используете? Он для другого.

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

Автор: NigeL May 15 2017, 14:48

(SyntaxError @ May 14 2017, 17:42) Перейти к цитате

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

Не соглашусь.

Автор: Анттошка May 15 2017, 15:25

Как заставить вебпак собирать только стили без создавания js файла?

Invision Power Board
© Invision Power Services