Size: a a a

Флудилка нодскула

2016 November 14

E

Etki in Флудилка нодскула
Раз уж за вебпак заговорили - есть платформа (voximplant), куда мне нужно регулярно выкладывать js-скрипты, каждый из которых занимает ровно один файл. Сейчас я занимаюсь облагораживанием этого дела, и мне нужен воркфлоу со следующими особенностями:
- Нужно собирать конечные скрипты в виде отдельного файла, подставляя вместо import from / require непосредственно содержимое того, что реквайрится
- Нужно каким-то образом конфигурировать сборку и вбрасывать переменные в скрипт (окружение и адреса серверов, к которым в зависимости от окружения этот скрипт будет ходить)
- Было что-то еще, но я, конечно, успел забыть
- Минифкация-обфускация не только не нужна, но и будет сильно лишней (но, насколько понимаю, эпоха утилит, которые знали за меня, что мне надо, уже прошла, и такое нигде не будет захардкожено)

Какую утилиту сборки мне лучше всего взять? Сам я в инфраструктуре ноды до сих пор разбираюсь так себе, и знаю только про существование grunt / gulp / webpack, из которых трогал только второй, и то один раз.
источник

V☆

Vitaliy ☆glukki☆ Meshchaninov in Флудилка нодскула
хоть webpack, хоть browserify
вбросить переменные можно в виде глобальных. это оба инструмента умеют.

и я бы даже предложил browserify, наверное. как-то он проще для меня.
он решает одну задачу — резолвит зависимости и конкатенирует их.
остальные задачи решаются за счет плагинов к нему. захотел новую функциональность, например рекваерить json файлы — пошел, нашел плагин, установил, сказал использовать его.
параметры запуска в browserify можно передавать через консоль или через апи из js.
источник

E

Etki in Флудилка нодскула
ага, спасибо
источник
2016 November 15

NK

ID:57684913 in Флудилка нодскула
народ, я походу жестко туплю
а как мне перехватить асинхронную 'im not catched'?
источник

TM

Tim Marinin in Флудилка нодскула
превратить setTimeout в промис.)
источник

NK

ID:57684913 in Флудилка нодскула
точняк, спасибо :)
источник

NK

ID:57684913 in Флудилка нодскула
хм, а насколько я понимаю у нас нет щас методов отмены промиса?
источник

NK

ID:57684913 in Флудилка нодскула
ну типа как clearTimeout снаружи
источник

TM

Tim Marinin in Флудилка нодскула
Это уже ближе к deferred
источник

NK

ID:57684913 in Флудилка нодскула
источник

NK

ID:57684913 in Флудилка нодскула
та-дам
источник

NK

ID:57684913 in Флудилка нодскула
спасибо Тим )
источник

TM

Tim Marinin in Флудилка нодскула
Пожалуйста.)
источник

E

Etki in Флудилка нодскула
А у меня еще один формальный вопрос. Представим, что есть некоторая простыня

compute(1);
compute(2);
compute(3);


Имеет ли право движок js (не нода, а движок вообще) вторгнуться между вызовами и запустить обработку какого-то другого кода, стоящего в очереди, или у меня есть гарантия, что стейт на момент вызова compute(1) будет идентичен стейту compute(2)?
источник

AG

Andrew Gurylev in Флудилка нодскула
V8 так делает. У него своя внутренняя очередь в мейнтреде.
источник

AG

Andrew Gurylev in Флудилка нодскула
На счёт других движков не знаю.
источник

E

Etki in Флудилка нодскула
"так делает" - не прерывает выполнение?
источник

AG

Andrew Gurylev in Флудилка нодскула
Ставит в очередь, в которую в теории может попасть ещё что-то между этими выполнениями. То есть да, прерывает.
источник

E

Etki in Флудилка нодскула
беда (
источник

E

Etki in Флудилка нодскула
я надеялся, прямо в спеке записано, что такую штуку нельзя делать
источник