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

Обсуждения webpack, лоадеров, плагинов и сборок Правила: http://bit.ly/our_etiquette См. также: @rollup_ru, @react_js, @vscode_ru, @macos_ru, @js_ru

974 members

Архив канала @webpack_ru 20 сентября 2017 г.

07:40:18 ДП
User 92174505
народ, а как грамотно настраивать webpack чтобы скрипты грузились как type="module" и вообще в целом как правильно настраивать конфиг webpack для работы со старыми и новыми браузерами. К примеру, чтобы для тех у кого есть в поддержке новые фичи не прогонять через babel а у кого нет отдавать другую версию?
07:40:55 ДП
User 63958239
Вебпак вообще не нужен для этого, настраивать его не нужно, максимум копирование сорцов
07:41:50 ДП
User 212795634
Код на ES2015 в бою уже сегодня, Филип Уолтон собирает main-legacy.js для старых и main.js для современных браузеров https://philipwalton.com/articles/deploying-es2015-code-in-production-today/
07:41:57 ДП
User 92174505
Но для старых браузеров все же нужно прогонять
07:42:06 ДП
User 63958239
https://vk.com/wall-32017543_14259
vk.com/wall-32017543_14259
Код на ES2015 в бою уже сегодня, Филип Уолтон собирает main-legacy.js для старых и main.js для современных браузеров https://philipwalton.com/articles/deploying-es2015-code-in-production-today/
07:42:15 ДП
User 63958239
Оп, есть канал
07:43:07 ДП
07:47:34 ДП
User 147771380
User 92174505
народ, а как грамотно настраивать webpack чтобы скрипты грузились как type="module" и вообще в целом как правильно настраивать конфиг webpack для работы со старыми и новыми браузерами. К примеру, чтобы для тех у кого есть в поддержке новые фичи не прогонять через babel а у кого нет отдавать другую версию?
Два раза собирать с разными конфигами
09:36:30 ДП
User 60365292
Подскажите плокс, пытаюсь собрать из ejs шаблона хтмлку, все ассеты при этом брать из шаблона (из тегов), а не подключать их в entry.

но при обработке .css ExtractTextPlugin ругается Module build failed: ReferenceError: require is not defined
если импортить ксс не в темплейте, а в энтри, то все ок
https://gist.github.com/krvd/a34e11f9f0a97e4a2181ba0094b5c750

wp 3, плагины последние
gist.github.com/krvd/a34e11f9f0a97e4a2181ba0094b5c750
09:52:27 ДП
User 60365292
вообще мой конфиг работает, но только если юзать вместо экстракт-текст-плагина экстракт-лоадер
{
                test: /\.css$/,
                 use: [
                     {
                         loader: 'file-loader',
                         options: {
                             outputPath: 'css/'
                         }
                     },
                     'extract-loader',
                     'css-loader'
                 ] 
            },

но проблема в том, что тогда херятся пути до вложений. грубо говоря если был импорт шрифта src: url(../fonts/my-font.otf) , то вебпак отдает его как url(fonts/my-font.otf)
11:59:42 ДП
User 111816761
как работает tree shaking? import { Button, TextField } from 'material-ui'; импортирует всю либу. Использую вебпак3, для бабеля "modules": false стоит
12:14:18 ПП
User 32530886
User 111816761
как работает tree shaking? import { Button, TextField } from 'material-ui'; импортирует всю либу. Использую вебпак3, для бабеля "modules": false стоит
Uglify код вырезает, а не вебпак
12:15:40 ПП
User 111816761
User 32530886
Uglify код вырезает, а не вебпак
аглифай не работает, если не трансформить модули, а это вроде как надо для три шейкинга
12:16:12 ПП
User 32530886
User 111816761
аглифай не работает, если не трансформить модули, а это вроде как надо для три шейкинга
Вебпак хавает модули
12:16:20 ПП
User 32530886
А аглифай работает позже
12:16:24 ПП
User 32530886
И вырезает код
12:16:59 ПП
User 111816761
ну у меня babel-minify-webpack-plugin и он не вырезает
12:17:22 ПП
User 111816761
там в бандле просто нет коментов типа /* unused harmony export square */
12:17:44 ПП
User 111816761
я так понял, что вебпак так помечает места, которые нужно вырезать
12:18:04 ПП
User 32530886
User 111816761
ну у меня babel-minify-webpack-plugin и он не вырезает
А с чего он должен
12:18:23 ПП
User 32530886
Uglify надо юзать
12:18:57 ПП
User 111816761
тот что идет прямо с вебпаком?
12:28:23 ПП
User 50263515
Всем привет, запуске билда ошибка request.replace is not a function, конфиг и лог выполнения здесь: https://gist.github.com/unfalse/c810edf5847f2a84d26d18a00308113e
gist.github.com/unfalse/c810edf5847f2a84d26d18a00308113e
12:28:53 ПП
User 50263515
Я перевожу проект с вебпака 1 на 3
12:29:07 ПП
User 50263515
В прошлый раз был один проект, сейчас другой
12:29:25 ПП
User 50263515
В чем приблизительно может быть дело?
12:30:43 ПП
User 50263515
Я уже даже вебпак дебажил из WebStorm, но там ничего не понятно
01:13:42 ПП
User 111816761
вот такое аглифай выкидывает
01:13:46 ПП
User 111816761
ERROR in js/bundle.js from UglifyJs
Unexpected token: name (urlParts)
01:51:30 ПП
User 111816761
это потому что для es6 синтаксиса нужно ставить uglifyjs-webpack-plugin@1.0.0-beta.2. Правда неиспользуемый код он все равно не вырезает
10:03:50 ПП
User 299096137
обоссаная система. Браузеры старались, выпускали для нас фичи, а теперь мы не можем отказаться от легаси, потому, что то на чем держится бадлер, не работает с новым кодом
10:05:10 ПП
User 299096137
и эта статья призывает использовать 2 версии, но как быть с плагинами которые написаны на commonjs?
10:05:14 ПП
User 147771380
User 299096137
обоссаная система. Браузеры старались, выпускали для нас фичи, а теперь мы не можем отказаться от легаси, потому, что то на чем держится бадлер, не работает с новым кодом
Можно собирать легаси код отдельно для старых браузеров и новый для новых
10:05:31 ПП
User 147771380
А, ты об этом и говоришь
10:06:03 ПП
User 147771380
User 299096137
и эта статья призывает использовать 2 версии, но как быть с плагинами которые написаны на commonjs?
А что с ними не так?
10:06:11 ПП
User 299096137
User 147771380
Можно собирать легаси код отдельно для старых браузеров и новый для новых
но прикол в том, что uglify не поддерживает новый современный код
10:06:25 ПП
User 299096137
User 147771380
А что с ними не так?
а кто их будет в es6 трансформировать?
10:06:35 ПП
User 147771380
А зачем?
10:07:19 ПП
User 147771380
User 299096137
но прикол в том, что uglify не поддерживает новый современный код
Напиши свой uglify, который работает. Ну типа чего на комьюнити гнать, возьми, сделай вклад
10:08:24 ПП
User 299096137
и как тогда это будет работать? Мы вроде пишем на es6, а внутри левых плагинов commonjs? Раньше бабель просто все в одно превращал, а теперь как это будет?
10:08:45 ПП
User 299096137
User 147771380
Напиши свой uglify, который работает. Ну типа чего на комьюнити гнать, возьми, сделай вклад
заезженный ход.
10:08:55 ПП
User 147771380
User 299096137
и как тогда это будет работать? Мы вроде пишем на es6, а внутри левых плагинов commonjs? Раньше бабель просто все в одно превращал, а теперь как это будет?
А почему бы ему не работать?
10:09:11 ПП
User 147771380
User 299096137
заезженный ход.
Ну, ну ты сидишь, ноешь тут, а кто тебе должен был что-то предоставить?
10:09:26 ПП
User 147771380
Никто и не обязывался
10:09:34 ПП
User 147771380
Есть babel-env
10:09:49 ПП
User 147771380
Старый код потихоньку отмирает
10:10:07 ПП
User 147771380
Всё идёт своим чередом
10:10:24 ПП
User 299096137
т.е. нативный импортов и экспортов все равно еще не будет
10:10:34 ПП
User 299096137
только уберут кучу полифиллов?
10:10:40 ПП
User 147771380
Ну да, долгое время
10:10:48 ПП
User 147771380
А ты как хотел?
10:10:55 ПП
User 147771380
У тебя кроме нытья есть что предложить?
10:11:29 ПП
User 299096137
modules: false,
useBuiltIns: true,
я тогда не понимаю, зачем делать modules: false?
10:12:58 ПП
User 299096137
если ты потерял нить разговора, то я вообще-то кипешую из-за статьи, а не из-за того, что углифай не может сжимать. У него вообще-то есть ветка harmony в котором должна быть поддержка же es5+
10:14:02 ПП
User 147771380
Что не так со статьёй?
10:15:41 ПП
User 147771380
До сих пор не увидел ни одной внятной предъявы
10:16:06 ПП
User 299096137
Зато от тебя много предъяв ко мне. Блюститель правды
10:16:37 ПП
User 147771380
Ну типа ты зачем-то сюда пришёл
10:16:44 ПП
User 147771380
Наверное обсудить что хотел
10:17:13 ПП
User 147771380
В результате принёс в чятик какое-то невнятное нытьё про то, какая система говно
10:17:28 ПП
User 299096137
и какую я систему назвал говном?
10:17:57 ПП
User 147771380
Про сборку двух разных версий
10:18:05 ПП
User 147771380
Легаси и труъ
10:19:57 ПП
User 147771380
Я неправ?
10:20:21 ПП
User 299096137
я к тому, что мир фронта еще не готов переходить на новый формат, раньше браузеры за нами не успевали, а теперь мы не можем догнать их
10:20:46 ПП
User 147771380
Пусть лучше так
10:21:07 ПП
User 147771380
Первый вариант-то всяко похуже
10:23:46 ПП
User 147771380
Какие есть альтернативы-то?
10:23:55 ПП
User 147771380
По твоему мнению
10:25:21 ПП
User 299096137
да никаких. Конечно, хочется как можно меньше полифиллов от бабель.
Я только сегодня утром узнал, что если в деструктуризации ошибка, то браузер пишет об этом нормальную ошибку
10:26:02 ПП
User 299096137
но без uglify не реально.
10:26:58 ПП
User 299096137
я сегодня думал попробовать разрабатывать без "бабеля", чтоб как можно было меньше полифиллов и легче было дебажить, но потом передумал, испугавший неожиданного поведения