Size: a a a

Webpack — русскоговорящее сообщество

2019 July 25

VS

Vladislav Starostenko in Webpack — русскоговорящее сообщество
хелло.
Есть проблема с sw-precache-webpack-plugin
я не могу заставить его обновлять кеш, он один раз кеширует и использует этот кеш игнорируя все новые изменения.
Пробовал данные настройки плагина
http://qaru.site/questions/13485417/how-to-cache-everything-but-content-using-sw-precache
источник

IP

Ivan Podgornov in Webpack — русскоговорящее сообщество
Mr. King
Всем привет друзья, возник такой вопрос плохо ли когда на Multi page сайте все скрипты идут как 1 бандл? Учитывая то что там все плагины которые могут и не использоваться в некоторых страницах.
Скорее да, чем нет. Если общий бандл в сжатом виде весит больше 70КБ, то это точно не очень хорошо
источник

M

Mr. King in Webpack — русскоговорящее сообщество
Ivan Podgornov
Скорее да, чем нет. Если общий бандл в сжатом виде весит больше 70КБ, то это точно не очень хорошо
Что можно предпринять в таком случае ? Разделить Vendor и свои скрипты на 2 бандла?
источник

IP

Ivan Podgornov in Webpack — русскоговорящее сообщество
Понимаю, что это может быть проблематично, но можно попробовать разделить бандл на страницы. На странице about, подключать about.js и т.д. Если просто отделить модули от ваших скриптов, ничего не изменится. Сколько скриптов грузилось, столько и продолжит, просто будут разбиты чуток
источник

M

Mr. King in Webpack — русскоговорящее сообщество
получается если у меня в двух страницах будет например плагин Slick.js то я должен буду сделать 2 бандла со скриптами страницы и у каждого будет своя копия Slick? Я правильно понял ?
источник

IP

Ivan Podgornov in Webpack — русскоговорящее сообщество
Общие модули для всех страниц могут попадать в common.js. Тогда, например, на странице about нужно будет подключить сначала common.js, а потом about.js. Вот в этом common будет slick.js. Вот этот плагин специализируется на Вашей задаче: https://webpack.js.org/plugins/split-chunks-plugin/
источник

M

Mr. King in Webpack — русскоговорящее сообщество
Ivan Podgornov
Общие модули для всех страниц могут попадать в common.js. Тогда, например, на странице about нужно будет подключить сначала common.js, а потом about.js. Вот в этом common будет slick.js. Вот этот плагин специализируется на Вашей задаче: https://webpack.js.org/plugins/split-chunks-plugin/
тоесть все равно не избежать тот случай когда 5 плагинов в common.js и только 1-2 используется на странице about?
источник

IP

Ivan Podgornov in Webpack — русскоговорящее сообщество
Если на каждой странице по 5 плагинов, то да - не избежать. А если какой-то из плагинов используется на какой-то одной странице, он не попадёт в common. Хотя это зависит от настроек
источник

M

Mr. King in Webpack — русскоговорящее сообщество
Я думаю кеширование будет делать свое дело если плагины в отдельном бандле, и да можно как вы сказали отделить плагины которые используются только на конкретной странице
источник

А

Артур in Webpack — русскоговорящее сообщество
Ребята! Я попался в капкан монореп и лерны. Хочу чтобы пакет с ноджс сервером раздавал артефакты работы другого пакета — собранный жс файл.

Для прода звучит все легко. Сбилдил первый пакет, сбилдил второй. Запустил второй, который знает где лежат файлы первого.

Но как быть при разработке? Дев сервер же в памяти держит рабочую копию
источник

I

Ivansky in Webpack — русскоговорящее сообщество
@apmyp0 Lerna создает symlink на папку другого проекта в твоем node_modules
источник

А

Артур in Webpack — русскоговорящее сообщество
Найти папку соседнего модуля не проблема. Дев сервер же с ней работает
источник

I

Ivansky in Webpack — русскоговорящее сообщество
@apmyp0 что значит тогда "раздавал артефакты работы другого пакета"
источник

AD

Ave Demid in Webpack — русскоговорящее сообщество
Все привет!

Решил заменить устарвевший @babel/polyfill на core-js / regenerator-runtime
В index.js в самом верху, сделал их импорт.
В .babelrc > presets > @babel/preset-env добавил "useBuiltIns": "entry"

Я так понимаю, теперь мне нужно указать, для каких браузеров мне нужно полифить код используя browselist. На этом все? Ничего не забыл?
источник

d

dron in Webpack — русскоговорящее сообщество
блин, насколько я понял лучший способ юзать core-js это:
module.exports = {
   presets: [
       [
           '@babel/preset-env',
           {
               useBuiltIns: 'usage',
               corejs: 3
           }
       ]
   ]
};


и импортить ничего не надо
источник

d

dron in Webpack — русскоговорящее сообщество
поправьте, если не так
источник

AD

Ave Demid in Webpack — русскоговорящее сообщество
dron
блин, насколько я понял лучший способ юзать core-js это:
module.exports = {
   presets: [
       [
           '@babel/preset-env',
           {
               useBuiltIns: 'usage',
               corejs: 3
           }
       ]
   ]
};


и импортить ничего не надо
точно, вот corejs указать забыл
источник

AD

Ave Demid in Webpack — русскоговорящее сообщество
получается, если я не укажу какие имнно браузеры мне нужны, то он будет сейчас полифилить по листу > 0.25%, not dead?
источник

d

dron in Webpack — русскоговорящее сообщество
npx browserslist
покажет
источник

AD

Ave Demid in Webpack — русскоговорящее сообщество
dron
npx browserslist
покажет
огонь, спасибо! не знал об этом)
источник