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

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

974 members

Архив канала @webpack_ru 21 ноября 2017 г.

09:02:21 ДП
User 7481297
кто-нибудь сталкивался с похожей схемой?

генерирую index.html вебпаком с помощью html-webpack-plugin из файла .pug, который загружается pug-loader'ом. в этом файле хочу заинлайнить некоторые стили, в том числе @font-face правила, которые должны рекваирить шрифты, которые будут загружаться file-loader'ом.

с .css файле делаю

@font-face {
  ...
  src: url('./Lato-Regular.woff') format('woff');
 }

но вебпак так и оставляет этот url и файл не рекваирит 🙁
09:15:43 ДП
User 134905826
не знаю умеет ли твой pug loader делать резолв, но в других лоадерах это сделано парсингом готового html через регулярное выражание. https://github.com/pcardune/handlebars-loader/blob/029dabbd4f1a0d302d040528ba7247c7d31ad84e/index.js#L68
github.com/pcardune/handlebars-loader/blob/029dabbd4f1a0d302d040528ba7247c7d31ad84e/index.js
handlebars-loader - A handlebars template loader for webpack
09:16:12 ДП
User 134905826
кароче: узучай исходники pug loader-а — чтобы понять, есть ли такое или нет
09:18:56 ДП
User 7481297
pug-loader по ходу умеет, потому что можно сделать

link(rel='apple-touch-icon' sizes='180x180' href=require('../../files/favicons/apple-touch-icon.png’))

т.е. использовать require прямо в нём, и файл загружается нормально нужным loader’ом
09:20:11 ДП
User 7481297
а вот если сделать в нём импорт css файла через include

style
  include ../../styles/main.css

то вот рекваиры в этом .css файлы не работают
09:20:45 ДП
User 134905826
require ручками и автоматический(поиск img[src], a[href]) require не одно и тоже
10:36:29 ДП
User 104753990
Всем привет) Может кто нибудь глянуть на issue https://github.com/babel/babel-loader/issues/544?

Я уверен что решается просто)
github.com/babel/babel-loader/issues/544
Hi everyone! I have a problem with babel loader: ERROR MESSAGE: ERROR in ./main.js Module parse failed: Unexpected token (5:7) You may need an appropriate loader to handle this file type. | import ...
10:37:04 ДП
User 212795634
User 104753990
Всем привет) Может кто нибудь глянуть на issue https://github.com/babel/babel-loader/issues/544?

Я уверен что решается просто)
github.com/babel/babel-loader/issues/544
Hi everyone! I have a problem with babel loader: ERROR MESSAGE: ERROR in ./main.js Module parse failed: Unexpected token (5:7) You may need an appropriate loader to handle this file type. | import ...
test: /\.jsx?$/,
10:38:43 ДП
User 104753990
User 212795634
test: /\.jsx?$/,
Это уже поправил) Сейчас отредактирую в issue
10:40:30 ДП
User 104753990
Проблема заключается в том, что webpack изначально работает в директории в которой лежит конфиг файл, а мне нужно подтянуть директорию modules еще)
10:53:44 ДП
User 104753990
Никто не сможет с этим помочь?
11:22:57 ДП
User 2067587
Всем привет. Почему webpack может выдавать такие ошибки? и постоянно, при обращении к map (вроде как) вытается загрузить bundle файл
11:24:06 ДП
User 2067587
работает через Create React App
11:25:28 ДП
User 32530886
User 2067587
Всем привет. Почему webpack может выдавать такие ошибки? и постоянно, при обращении к map (вроде как) вытается загрузить bundle файл
порядок чанков мб непрвивльный?
11:33:07 ДП
User 2067587
странно, такой только в хроме
12:42:19 ПП
User 111816761
как убрать flow типы в жс файлах для awesome-typescript-loader? Я так понял, что нужно нужно пропускать их сначала через бабель. Но как это прописать в конфиге?
12:47:13 ПП
User 32530886
babel loader
01:42:25 ПП
User 111816761
module: {
  rules: [
    {
      test: /\.(js|jsx)$/,
      loader: 'babel-loader',
    },
    {
      test: /\.tsx?$/,
      use: [
        {
          loader: 'awesome-typescript-loader',
        },
      ],
    },
  ]
}
01:43:00 ПП
User 111816761
при таком конфиге ts жалуется на флоу типы в жс файлах
01:51:31 ПП
User 32530886
на какие флоу типы?!
01:51:56 ПП
User 32530886
/\.(js|jsx)$/ === /\.jsx?$/ так то
01:53:37 ПП
User 111816761
у меня часть файлов на чистом жс и там есть флоу типы. Чтобы тс мог их обработать, нужно эти типы вырезать
01:54:51 ПП
User 112715267
Ох уж эти фронтендеры
01:54:58 ПП
User 111816761
хотя у меня всего один тс файл и он ничего не импортит
01:55:03 ПП
User 112715267
Может, у вас ещё и на дарте куски есть?)
01:55:28 ПП
User 111816761
есть на бэкбоне в амд модулях
01:55:31 ПП
User 111816761
но это другое
01:55:33 ПП
User 32530886
User 111816761
у меня часть файлов на чистом жс и там есть флоу типы. Чтобы тс мог их обработать, нужно эти типы вырезать
зачем так?
01:55:47 ПП
User 111816761
хочу внедрять тс постепенно
01:55:58 ПП
User 32530886
лучше флоу внедряй
01:56:02 ПП
User 32530886
тс постепенно будет сложно
01:56:03 ПП
User 32530886
очень
01:56:12 ПП
User 32530886
вон уже сколько проблем)
01:56:58 ПП
User 32530886
а вообще можешь сходу вырезать все флоу типы простым способом, просто пройтись flow-remove-types по исходному коду
01:58:04 ПП
User 111816761
модифицировать срцы?
01:58:25 ПП
User 32530886
ну да
01:58:30 ПП
User 32530886
ты же хочешь вырезать флоу
01:58:35 ПП
User 32530886
ну срежь типы совсем
01:58:53 ПП
User 111816761
ну просто там уже нормально затипизировано с флоу
01:59:00 ПП
User 32530886
ну и смысл на тс переходить?
01:59:16 ПП
User 111816761
мне он больше нравится
01:59:19 ПП
01:59:23 ПП
User 32530886
короч мучайся)
01:59:24 ПП
User 52321317
вот это подход))
01:59:24 ПП
User 32530886
приятного
02:00:39 ПП
User 52321317
я б тоже флоу оставил, а тс не трогал. Тс все-таки для чистого проекта с нуля. И то тогда, когда у тебя на все есть тайпинги. Иначе - боль.
02:02:03 ПП
02:02:04 ПП
User 52321317
да и "больше нравится" - не аргумент для того, чтобы все переписать из одного в другое.
02:02:24 ПП
User 52321317
а завтра тебе будет больше дарт нравиться. Опять перепишешь? :)
02:04:08 ПП
User 111816761
по идее там не так сложно должно быть. Только переписать типы с флоу на тс
02:04:38 ПП
User 52321317
если у тебя проект из одного файла, то - да. Не сложно. Иначе - будет туго.
02:05:50 ПП
User 52321317
тс - это не надстройка. Это другой язык. С другими идеями. Своим импортом и т.п.
02:05:57 ПП
User 52321317
так что одними типами ты не обойдешься
02:10:25 ПП
02:10:25 ПП
User 112715267
Каждый день эту пикчу вспоминаю
02:14:24 ПП
User 111816761
мне как раз понравилось, что на тс тайпингов дофига. И очень хорошая поддержка оедакторов
02:14:35 ПП
User 111816761
из вскода вообще не выпилить
02:50:01 ПП
User 342323649
всем хай, ребят, а как можно сделать кастомный npm script который запускает кастомный webpack plugin ?
02:57:45 ПП
User 134905826
User 342323649
всем хай, ребят, а как можно сделать кастомный npm script который запускает кастомный webpack plugin ?
webpack плагины это не отделимая часть вебпака, отдельно их не запустают -- может ты путаеш с грант/галп тасками. хотя если сильно хочется -- сделай отдельный webpack.config где только этот плагин
02:58:54 ПП
User 342323649
ага, понял тебя, собственно в чем кейс - я добавил веб-пак-бандл аналайзер, но мне он жеж не нужен, когда я делаю бандл для деплоя, вот собственно и хочу его выкинуть из продакшен сборки
03:00:01 ПП
User 134905826
const PROD = ('NODE_ENV' in process.env && process.env.NODE_ENV === 'production') || process.argv.indexOf('-p') !== -1;
03:00:42 ПП
User 134905826
...(PROD ? [prodplugins,] : [devplugins]),
03:01:55 ПП
User 342323649
ага, понял идейку, выглядит как солюшн))
03:01:57 ПП
User 342323649
спасибо
03:07:56 ПП
User 342323649
или более правильно в таком случае иметь 2 конфига - для дев и для прода ?
03:10:01 ПП
User 134905826
User 342323649
или более правильно в таком случае иметь 2 конфига - для дев и для прода ?
дело лично твое 🙂 мне сложно 2 содержать -- чонить забуду
03:10:42 ПП
User 342323649
тоже правда
10:23:07 ПП
User 30260375
чат, я использую ExtractTextPlugin для создания отдельного css, можно ли как-то настроить так чтоб для каждого чанка билдился отдельный css и подгружались они тоже лениво как и с чанками?
10:29:54 ПП
User 52321317
А зачем тогда использовать его для дочерних чанков?
10:31:08 ПП
User 52321317
Он же по умолчанию не выносит css из чанков
10:32:46 ПП
User 52321317
Только я не помню, там, вроде, оверхед большой был. Много шлака остаётся для вставки css в DOM.
@sergeysova, изменилось чего, не знаешь?
10:53:18 ПП
User 32530886
User 52321317
Только я не помню, там, вроде, оверхед большой был. Много шлака остаётся для вставки css в DOM.
@sergeysova, изменилось чего, не знаешь?
extracttext не вставляет в DOM стилей
10:53:27 ПП
User 32530886
он только вынает стили и кладет на диск
10:53:37 ПП
User 52321317
Я так и говорю
10:53:57 ПП
User 52321317
Если его не использовать, будет работать style-loader, очевидно
10:54:15 ПП
User 52321317
Который добавляет много-много своего кода
11:29:49 ПП
User 30260375
User 52321317
Он же по умолчанию не выносит css из чанков
действительно. тогда всё ок
11:30:07 ПП
User 30260375
User 52321317
Который добавляет много-много своего кода
да, целых 5 килобайт лишнего кода