Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6696-й день

Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua

 Терминал (командная строка, CLI), Вопросы

Чапик
Mar 24 2017, 20:40
  
Пост #1



Репутация:   28  
Cтаршой
**

Группа: Пользователи
Сообщений: 519
С нами с: 30-December 10


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

1. Есть флаг "-g" для глобальной установки. Чем он отличается от локальной?
2. Зачем писать "save-dev"?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов(1 - 13)
vas1
Mar 24 2017, 21:21
  
Пост #2



Репутация:   8  
Дух


Группа: Пользователи
Сообщений: 47
С нами с: 9-February 14


(Чапик @ 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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Чапик
Mar 24 2017, 21:57
  
Пост #3



Репутация:   28  
Cтаршой
**

Группа: Пользователи
Сообщений: 519
С нами с: 30-December 10


(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"? Т.е. алгоритм работы команды.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Wissenstein
Mar 24 2017, 22:14
  
Пост #4



Репутация:   23  
Дух


Группа: Пользователи
Сообщений: 68
С нами с: 8-November 09


Із приводу побачити та видалити модулі — тут усе логічно:
npm list -g
npm list -g blabla
npm uninstall -g blabla

(а з приводу browser-sync нічого не знаю).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Анттошка
Mar 24 2017, 22:23
  
Пост #5



Репутация:   103  
Старожил
****

Группа: Пользователи
Сообщений: 2 276
С нами с: 29-June 09


browser-sync - просто модуль, можно использовать для фронта. Выше же написал vas1 как происходит установка модулей глобально.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Чапик
Mar 24 2017, 23:17
  
Пост #6



Репутация:   28  
Cтаршой
**

Группа: Пользователи
Сообщений: 519
С нами с: 30-December 10


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

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

Интересует, что именно происходит «под капотом». Как проходит установка.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
vas1
Mar 27 2017, 9:27
  
Пост #7



Репутация:   8  
Дух


Группа: Пользователи
Сообщений: 47
С нами с: 9-February 14


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

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

Я ненастоящий сварщик, но предполагаю что примерно так:
нода скачивает заголовки пакета с npmjs.com и смотрит зависимости
рекурсивно проходит по всем зависимостям (depencencies + devDependencies для --save-dev) и устанавливает их если их еще нету (если локально то проверяется PATH и node_modules, если глобально то только PATH)
после этого устанавливается уже сам пакет
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
NigeL
Mar 30 2017, 10:26
  
Пост #8

Благодарности: 11010

Репутация:   297  
Постоялец
***

Группа: Пользователи
Сообщений: 1 899
С нами с: 1-August 09


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

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

Сообщение отредактировал NigeL - Mar 30 2017, 10:27
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Чапик
Mar 30 2017, 19:06
  
Пост #9



Репутация:   28  
Cтаршой
**

Группа: Пользователи
Сообщений: 519
С нами с: 30-December 10


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

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

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

Спасибо, присмотрюсь.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Анттошка
Apr 2 2017, 20:12
  
Пост #10



Репутация:   103  
Старожил
****

Группа: Пользователи
Сообщений: 2 276
С нами с: 29-June 09


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

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

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

А для чего gulp?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
NigeL
May 14 2017, 7:47
  
Пост #11

Благодарности: 11010

Репутация:   297  
Постоялец
***

Группа: Пользователи
Сообщений: 1 899
С нами с: 1-August 09


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

А для чего gulp?

Запускать какие-то произвольные таски.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
SyntaxError
May 14 2017, 16:42
  
Пост #12



Репутация:   440  
Ветеран
*****

Группа: Пользователи
Сообщений: 7 466
С нами с: 7-December 12


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

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

Потому что иногда галп легче кастомизировать под нестандартные решения, когда вебпак слишком коробочный.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
NigeL
May 15 2017, 14:48
  
Пост #13

Благодарности: 11010

Репутация:   297  
Постоялец
***

Группа: Пользователи
Сообщений: 1 899
С нами с: 1-August 09


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

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

Не соглашусь.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Анттошка
May 15 2017, 15:25
  
Пост #14



Репутация:   103  
Старожил
****

Группа: Пользователи
Сообщений: 2 276
С нами с: 29-June 09


Как заставить вебпак собирать только стили без создавания js файла?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 14th July 2024 - 16:27
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст.