Size: a a a

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

2019 September 05

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Ivan Podgornov
На счёт первого, мы друг друга не поняли, потому что я плохо объясняю. Я подумал, что в получившемся css-файле имена классов изменились, а в разметке у человека, понятное дело нет. Потому что как бы они изменились сами по себе.

Второе. Допустим, кому-то нужно узнать тех кто уже лайкнул фотку. Намного легче найти их по селектору ".likes .person", чем по ".jdsfk3 .ur8hfn". Но вообще да, то всё второстепенное. Главное, чтобы не конфликтовали имена классов
ну тогда бы у него и стили слетели, а по поводу парсера -> парсер на селекторах само по себе очень хрупко, будь там нормальные имена или нет. Хэш конечно будет менятся чаще чем нормальные названия но и парсеры хорошие обычно операются на семантику а не на стили
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
я вижу смысл только в том что для достижения уникальности стилей часто используют бем - тогда название одного класса запросто может перевалить на 20 символов. В прод гонять такие стили смысла нету поэтому уникальность достигается просто хешем - что короче
источник

kp

krn p in Webpack — русскоговорящее сообщество
гайз, настало время для глупых вопросов.
как должен работать вебпак.
берет все модули, сливает их в один файл vendors.js
берет все сырцы, сливает их в один файл app.js
вопрос - что делать, если файл vendors весит, скажем, 5 мб?   что выше рекомендованного аж на 4.750 мб ?
как должны работать чанки ?  
вебпак 3, если это важно
источник

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
раскидывай либы по чанкам
источник

DT

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

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
убери не нужные либы
источник

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
рецепт прост
источник
2019 September 06

PS

Pavel Serezhin in Webpack — русскоговорящее сообщество
Когда я подключаю lodash и беру только 1 метод в импорте { isEmpty } вебпак компилит только необходимый код из либы, или всю библиотеку?
источник

AZ

Alexandr Zharkov in Webpack — русскоговорящее сообщество
Чат привет, подскажите пжлст.

Есть ReactJS приложение с CRA
Подключаю шрифт в css файле

@font-face {
   font-family: 'AkzidenzGroteskProRegular';
   src: url('./AkzidenzGroteskPro-Regular.woff') format('woff');
   font-weight: 400;
}

потом подключаю css в приложение

На выходе в билде имею

@font-face{font-family:AkzidenzGroteskProRegular;src:url(/static/media/AkzidenzGroteskPro-Regular.9339ef8a.woff) format("woff");font-weight:400}

Как сделать этот url абсолютным?(С доменом)
источник

AZ

Alexandr Zharkov in Webpack — русскоговорящее сообщество
фантомное сообщение, не помогло (https://create-react-app.dev/docs/deployment#building-for-relative-paths)
источник

EV

Eugen Vinnikov in Webpack — русскоговорящее сообщество
Pavel Serezhin
Когда я подключаю lodash и беру только 1 метод в импорте { isEmpty } вебпак компилит только необходимый код из либы, или всю библиотеку?
Не все либы поддерживают частичное  извлечение методов с самой либы . Лодаш кажется это поддерживает поэтому у тебя скопируется не вся либа а только определенный код этого метода
источник

kp

krn p in Webpack — русскоговорящее сообщество
Eugen Vinnikov
Не все либы поддерживают частичное  извлечение методов с самой либы . Лодаш кажется это поддерживает поэтому у тебя скопируется не вся либа а только определенный код этого метода
но емнип пара тройка подобных извлечений из лодаша - и ты проиграл в весе. там все очнь плотно завязано. для вскода есть даже плагин который считает вес импорта
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Pavel Serezhin
Когда я подключаю lodash и беру только 1 метод в импорте { isEmpty } вебпак компилит только необходимый код из либы, или всю библиотеку?
tree shaking должен поддерживатся либой чтобы это работало. Лодаш поддерижвает. Однако tree-shaking дает не идеальный результат - часть лишнего кода все-равно попадает. Рекомедуется либы лодаша и лодаш-пообных библиотек импортировать как
import isEmpty from lodash/isEmpty
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
алсо есть плагин для babel которые сделает это автоматически -
преобразует
import { isEmpty } from 'lodash' -> import isEmpty from 'lodash/isEmpty'
https://www.npmjs.com/package/babel-plugin-lodash
источник

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
Alex CherryTea
tree shaking должен поддерживатся либой чтобы это работало. Лодаш поддерижвает. Однако tree-shaking дает не идеальный результат - часть лишнего кода все-равно попадает. Рекомедуется либы лодаша и лодаш-пообных библиотек импортировать как
import isEmpty from lodash/isEmpty
У лодаша не ес6 же модули
источник

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
есть под это у него вроде отдельная либа
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Daniil Tchernyavsky
есть под это у него вроде отдельная либа
?
источник

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
lodash es или как там его
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Daniil Tchernyavsky
lodash es или как там его
наоборот, для amd отдельная либа, lodash-amd
источник

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
што?
источник