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

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

974 members

Архив канала @webpack_ru 6 июня 2017 г.

04:59:52 ДП
User 55423102
https://github.com/webpack/webpack/releases/tag/v3.0.0-rc.0
github.com/webpack/webpack/releases/tag/v3.0.0-rc.0
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders," modules...
10:31:13 ДП
10:53:11 ДП
User 282857241
@alex_sokolov , всё таки вы не правы
10:53:36 ДП
User 282857241
User 55423102
он во все импортит
по поводу этого
10:59:26 ДП
User 55423102
точно, был не прав
11:11:59 ДП
User 299096137
ребята, а как сделать импорты в зависимости от окружения?
11:12:27 ДП
User 282857241
DefinePlugin же
11:12:29 ДП
User 299096137
import Vue from 'vue';
import Raven from 'raven-js';
import RavenVue from 'raven-js/plugins/vue';

if (PRODUCTION) {
    Raven
        .config('')
        .addPlugin(RavenVue, Vue)
        .install();
}
11:13:01 ДП
11:13:11 ДП
User 299096137
у меня if цепочку вырезает, хотя не должно
11:13:21 ДП
User 299096137
че за говно
11:14:13 ДП
User 299096137
в общем у меня вырезает if цепочку, но плагины все равно импортируются
11:14:16 ДП
User 299096137
как решить?
11:15:04 ДП
User 282857241
т.е PRODUCTION === false ?
11:15:25 ДП
User 282857241
а код выполняется?
11:16:24 ДП
User 299096137
не, я ожидал, что продакшен будет выдавать при сборке true, но почему-то выдал false и вырезал код
11:16:41 ДП
User 299096137
    plugins: [
        new webpack.DefinePlugin({
            'process.env': config.dev.env,
            PRODUCTION: JSON.stringify(process.env.NODE_ENV) === 'production'
        }),
11:17:05 ДП
User 299096137
сам проект так собирается
cross-env NODE_ENV=production node build/build.js
11:17:30 ДП
User 282857241
а зачем тебе вторая переменная окружения?
11:17:43 ДП
User 282857241
так или иначе, ты осуществляешь импорт до её проверки
11:18:02 ДП
User 299096137
но как мне сделать импорт внутри иф, если это нарушает синтаксис вроде бы
11:18:19 ДП
User 282857241
eslint Запрещает?
11:18:22 ДП
11:19:12 ДП
User 299096137
при сборке сразу же ломается
11:19:15 ДП
User 299096137
из за eslint
11:19:35 ДП
User 152816933
User 299096137
import Vue from 'vue';
import Raven from 'raven-js';
import RavenVue from 'raven-js/plugins/vue';

if (PRODUCTION) {
    Raven
        .config('')
        .addPlugin(RavenVue, Vue)
        .install();
}
почитай доку по vue теплейту. Настройка окружения там из коробки есть
11:19:36 ДП
User 299096137
SyntaxError: 'import' and 'export' may only appear at the top level (21:2)
11:19:53 ДП
User 282857241
как плохой вариант - /* eslint-disable */, но я думаю, копать надо в другую сторону
11:20:00 ДП
User 299096137
я знаю, process.env
11:20:21 ДП
User 299096137
но я сначала хочу поработать с отдельной переменной, потому, что как-то все странно работает
11:20:53 ДП
User 299096137
const debug = process.env.NODE_ENV === 'development';
у меня сначала так было написано
11:21:24 ДП
User 299096137
и при сборке это сравнение превращалось в 'development' === 'development'
11:21:30 ДП
User 299096137
и короче код не вырезался
11:22:27 ДП
User 299096137
я подумал, что eslint вырезает 100% только если стоит if (true)
11:22:43 ДП
User 299096137
а если такого рода сравнения, то не трогает и не вырезает
11:23:51 ДП
User 52321317
Если надо внутри if можно юзать import()
11:24:01 ДП
User 52321317
или require()
11:24:21 ДП
User 299096137
типо динамический импорт?
11:24:34 ДП
User 299096137
про который все пишут сейчас
11:24:43 ДП
User 52321317
да, а require - обычный
11:24:52 ДП
User 52321317
но который можно юзать внутри блоков
11:28:17 ДП
User 299096137
ща попробую, спс
11:31:08 ДП
11:31:11 ДП
User 299096137
не вырезается
11:31:46 ДП
User 299096137
User 152816933
почитай доку по vue теплейту. Настройка окружения там из коробки есть
http://vuejs-templates.github.io/webpack/env.html
11:31:56 ДП
User 299096137
использую const debug = process.env.DEBUG_MODE;
11:32:00 ДП
User 299096137
не хочет, вырезается
11:32:38 ДП
User 299096137
const debug = process.env.DEBUG_MODE;
if (debug) {
    const Raven =  require('raven-js');
    const RavenVue = require('raven-js/plugins/vue');
    Raven
        .config('')
        .addPlugin(RavenVue, Vue)
        .install();
}
11:32:46 ДП
User 299096137
или надо напрямую вставлять?
11:33:18 ДП
11:33:21 ДП
User 299096137
надо головой подумать
11:37:14 ДП
User 299096137
блин, нет, не хочет
11:37:16 ДП
User 299096137
код не вырезается
11:37:19 ДП
User 299096137
что я делаю не так7
11:37:34 ДП
User 52321317
значит debug == false
11:38:04 ДП
User 299096137
в билд сборке
({NODE_ENV:"production",DEBUG:!1}).DEBUG_MODE
11:38:07 ДП
User 299096137
получаю такой код
11:38:10 ДП
User 299096137
а не true/false
11:38:30 ДП
User 299096137
eslint вырезает код только если if (false)
11:40:58 ДП
11:40:59 ДП
User 299096137
наконец-то
11:41:00 ДП
User 299096137
сделал
11:42:05 ДП
User 299096137
пришлось в define плагин прокидывать напрямую переменную
11:42:12 ДП
User 299096137
без всех этих выкрутасов
12:30:43 ПП
User 282857241
коллеги, почему не работает импорт переменной в модуль с помощью imports-loader?
при этом работает аналогичный код для другого модуля

===

алиас: bootstrap_app: 'scripts/app',

правило:   {
    test: /bootstrap_app/,
    loader: 'imports-loader?$=jquery'
  },

вызов:
var dep = require('bootstrap_app')
console.log(dep)
12:32:09 ПП
User 282857241
под "не работает" я подразумеваю отсутствие реакции со стороны Webpack. т.е вызываемый модуль загружается, но я не вижу в нём импорта джиквери
12:32:22 ПП
User 282857241
т.е он загружается как есть, без изменений
12:33:05 ПП
User 282857241
пожалуйста, не надо писать, чтобы я использовал ProvidePlugin и т.д. вопрос не в этом
12:34:59 ПП
User 32530886
Ребята, читайте правила
12:35:28 ПП
User 32530886
❗️❗️❗️ Уважаемые разработчики, прежде чем описывать в чате свою проблему, выполните следующие шаги:

🔸 1. Проверьте совместимость webpack и его компонентов, с помощью версий и информации в README этих проектов на github
🔸 2. Определитесь с версией webpack которую используете или желаете использовать. Документация и конфигурация второй версии отличается от первой
🔸 3. Если у вас первая версия — https://webpack.github.io/
Если вторая — https://webpack.js.org.
За подробным описанием конфига второй версии — https://webpack.js.org/configuration
🔸 4. Удостоверьтесь что вы внимательно прочитали соответствующие пункты документации webpack и его плагинов.


В описании проблемы необходимо указать:
1️⃣ Версию webpack, используемые плагины и лоадеры вместе с версиями
2️⃣ Способ запуска webpack и окружение (например: dev-server, production)
3️⃣ Текст ошибки и конфиг webpack/babel (размещать на https://gist.github.com, в чат присылать ссылку)
4️⃣ Последовательность действий приводящих к ошибке (например: npm install; npm start)

Описывайте проблему подробно в одном большом сообщении. Не нужно дробить сообщение на куски, так очень сложно отследить ветку обсуждения.
#rules #правила
webpack.github.io
webpack is a module bundler. It packs CommonJs/AMD modules i. e. for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand.
12:40:20 ПП
User 282857241
прошу прощения, но, имхо, эти правила избыточны. возможно, я просто привык в менее формальному общению в других чатах, но с такой политикой проще обратиться за информацией в другие места
12:42:04 ПП
User 32530886
Чтобы получить нормальный ответ, надо задать нормальный вопрос
12:42:32 ПП
User 32530886
User 282857241
прошу прощения, но, имхо, эти правила избыточны. возможно, я просто привык в менее формальному общению в других чатах, но с такой политикой проще обратиться за информацией в другие места
Здесь решают проблемы, а не читают документацию вслух
12:42:43 ПП
User 147771380
Да где избыточны? Там написано: "Читайте сперва доку, описывайте хорошо конфиги и саму проблему"
12:42:46 ПП
User 147771380
Конец
12:43:46 ПП
User 282857241
ребята, это моё личное мнение, я никому его не навязываю
12:43:52 ПП
User 282857241
про правила - ок, понял
12:44:34 ПП
User 32530886
Если сообщение с просьбой включает 4 пункта, помочь легче и быстрее
07:04:41 ПП
User 67164223
Всем привет. Подскажите, где взять готовый конфиг вебпака?
07:05:04 ПП
User 67164223
То я взял старый проект, обновил версии в package.json и он теперь не запускается
07:06:06 ПП
07:06:12 ПП
User 32530886
webpack.js.org/configuration
07:06:17 ПП
User 32530886
пишешь новый с оглядкой на старый
07:06:25 ПП
User 32530886
не надо необдуманно обновлять зависимости
07:07:19 ПП
User 67164223
User 32530886
не надо необдуманно обновлять зависимости
Да я реакт и редакс изучаю, взял готовый темплейт и решил обновиться
07:08:01 ПП
User 147771380
Откатиться в гите никак?
07:09:49 ПП
User 67164223
Слишком сложно писать конфиг :D
07:10:22 ПП
User 147771380
Ну, если б ты его закоммитил, смог бы откатиться
07:10:38 ПП
User 67164223
User 147771380
Ну, если б ты его закоммитил, смог бы откатиться
не с гита проект
07:10:41 ПП
User 67164223
с видеоурока
07:11:05 ПП
User 147771380
Ну мог бы завезти гит туда
07:11:10 ПП
User 147771380
Ладно, короче, я тебя понял
07:12:01 ПП
User 67164223
ладно, пойду искать новые проекты
07:12:07 ПП
User 67164223
чтобы оттуда стащить конфиг
07:12:35 ПП
User 351146
серьезно? В доках написаны отличия старого конфига от нового
07:13:13 ПП
User 351146
там адаптировать дело 5-10 минут
07:17:20 ПП
User 67164223
User 351146
серьезно? В доках написаны отличия старого конфига от нового
Сейчас прочитать доки, ну где-то час займет времени
07:17:36 ПП
User 351146
так нафига целиком читать, только страничку с конфигом
07:18:24 ПП
User 67164223
User 351146
так нафига целиком читать, только страничку с конфигом
ты, наверное, думаешь, что я прям шарю
07:18:43 ПП
User 351146
да, надо завязывать с этим )
07:25:15 ПП
User 334671707
User 67164223
ты, наверное, думаешь, что я прям шарю
Тебе рано или поздно придётся с этим столкнуться. Так что лучше сделай это сейчас.
07:25:34 ПП
User 67164223
User 334671707
Тебе рано или поздно придётся с этим столкнуться. Так что лучше сделай это сейчас.
я так точно не начну изучать нормально
07:25:43 ПП
User 67164223
это можно на потом отложить
07:26:05 ПП
User 334671707
https://github.com/facebookincubator/create-react-app
github.com/facebook/create-react-app
create-react-app - Create React apps with no build configuration.
07:26:11 ПП
User 334671707
Если лень.
07:27:11 ПП
User 67164223
много лишнего говна
07:27:37 ПП
User 67164223
и я уже нашел реакт-редакс
07:27:45 ПП
User 67164223
https://github.com/davezuko/react-redux-starter-kit
github.com/davezuko/react-redux-starter-kit
react-redux-starter-kit - Get started with React, Redux, and React-Router.
07:27:47 ПП
User 67164223
если кому интересно
07:28:46 ПП
User 23384802
User 67164223
много лишнего говна
лол что?
07:31:18 ПП
User 147771380
User 67164223
много лишнего говна
Например?
07:31:32 ПП
User 147771380
Линтер? Тесты?
07:31:50 ПП
User 147771380
Чего уж там ЛИШНЕГО - ума не приложу
07:32:04 ПП
User 147771380
Да, может не хватать чего-то, но чтобы так
07:33:13 ПП
User 67164223
Мне достаточно будет одного хтмл файла и одного жи эс файла, в котором я бы написал консоль лог, запустил бы вебпак и посмотрел работает или нет
07:33:23 ПП
User 67164223
дальше я уже сам мясо проекту нарощу
07:33:49 ПП
User 147771380
Да там и нет ничего. Точка входа и конфиг сборщика
07:34:11 ПП
User 147771380
Который ты, собственно, и не видишь
07:34:50 ПП
User 147771380
Впрочем, ручками сделать никогда не помешает
07:34:54 ПП
07:36:05 ПП
User 67164223
просто, чтобы на жи эс поднять сервак и начать хоть что-то делать
07:36:12 ПП
User 67164223
это надо трахнуть себе мозг
07:36:24 ПП
User 67164223
вспоминая как на питоне всё это быстро делается
07:36:37 ПП
User 67164223
у меня немного подгорает
07:36:54 ПП
User 67164223
но не об этом
07:36:58 ПП
User 67164223
спасибо всем за помощь
07:37:20 ПП
User 351146
User 67164223
Мне достаточно будет одного хтмл файла и одного жи эс файла, в котором я бы написал консоль лог, запустил бы вебпак и посмотрел работает или нет
а зачем тебе вебпак то вообще?
07:37:58 ПП
User 67164223
User 351146
а зачем тебе вебпак то вообще?
чтобы модули всякие там были и они работали в браузере
07:38:03 ПП
User 67164223
для этого же он?
07:38:29 ПП
User 351146
для этого, но на кой черт инструмент использовать, если ты не собираешься разбираться как он работает?
07:38:57 ПП
User 351146
на жиквери все еще можно делать всё! посоны скажут что зашквар, но работу то можно выполнить
07:38:57 ПП
User 67164223
User 351146
для этого, но на кой черт инструмент использовать, если ты не собираешься разбираться как он работает?
зачем мне сейчас в нем разбираться?
07:39:21 ПП
User 147771380
А почему бы нет?
07:39:28 ПП
User 351146
хз, по-моему правильно сначала разобраться в инструменте который ты собираешься использовать в проекте, а потом уже использовать
07:39:42 ПП
User 351146
а то это какой-то хайп драйвен девелопмент
07:39:54 ПП
User 67164223
я так точно не начну ничего делать
07:40:04 ПП
User 147771380
Почему ты так уверен?
07:40:22 ПП
User 67164223
сидя и читая как работает что-то из огромной кучи фронтенда
07:40:30 ПП
07:40:33 ПП
User 147771380
У меня плохие новости
07:40:54 ПП
User 147771380
Но именно этим мы тут все занимаемся
07:41:13 ПП
User 67164223
я потом почитаю
07:41:17 ПП
User 67164223
когда нужно будет
07:41:29 ПП
User 67164223
а сейчас, пока есть темплейты
07:41:44 ПП
User 67164223
я лучше их заюзаю, запущу проект и буду говнокодить на жи эс, потому что можно
07:42:24 ПП
User 147771380
Но зачем тебе вебпак для этого?
07:42:31 ПП
User 67164223
я уже же написал
07:42:40 ПП
User 147771380
Подключи бабель на страницу просто
07:42:51 ПП
User 67164223
так не круто
07:42:56 ПП
User 147771380
Всё ясно
07:44:18 ПП
User 67164223
так можно про всё сказать
07:44:59 ПП
User 67164223
бек ту php
07:45:11 ПП
User 67164223
дохуя html файлов и прочего дерьма
07:45:19 ПП
User 351146
лол что
07:45:59 ПП
User 67164223
кароч
07:46:12 ПП
User 67164223
я тупой и хватит меня отвлекать, дайте разобраться уже :DD
08:48:23 ПП
User 67164223
так, я сделал себе темплейт, осталось только теперь вебпак настроить, чтобы работал хот модуль
09:06:40 ПП
User 282857241
Как успехи?