Webpack...
-
- Сообщения: 143
- Зарегистрирован: 2014.08.13, 15:08
Webpack...
Знаю, что тема уже была, но хочется более актуальной инфы.
Кто знает, как заменить ассет-менеджер на webpack?
При изучении мнения гугла на данный вопрос нашел https://github.com/pgaultier/yii2-webpack, какие мнения, стоит ли пробовать это использовать? По коду как-то стремно вроде, может кто уже пробовал? Насколько рабочий вариант? Что из фич вебпака отвалится?
Кто знает, как заменить ассет-менеджер на webpack?
При изучении мнения гугла на данный вопрос нашел https://github.com/pgaultier/yii2-webpack, какие мнения, стоит ли пробовать это использовать? По коду как-то стремно вроде, может кто уже пробовал? Насколько рабочий вариант? Что из фич вебпака отвалится?
Re: Webpack...
начинаете юзать вебпак и все. это разные вещи, которые не пересекаются.
-
- Сообщения: 143
- Зарегистрирован: 2014.08.13, 15:08
Re: Webpack...
Интересно, как же они не пересекаются, когда я хочу использовать такие фичи вебпака как чанки (для различных entry-points), динамические require?
Конечно если тупо использовать его как баднлер, проблем нет, сделал ассет, который подключает собранные css и js бандлы и радуешься, а вот если использовать на всю катушку (а именно в этих моментах вся прелесть webpack в сравнении с тем же gulp), то все не так очевидно.
Конечно если тупо использовать его как баднлер, проблем нет, сделал ассет, который подключает собранные css и js бандлы и радуешься, а вот если использовать на всю катушку (а именно в этих моментах вся прелесть webpack в сравнении с тем же gulp), то все не так очевидно.
Re: Webpack...
и как это пересекается с asset manager?Nicolai6120 писал(а): ↑2017.04.26, 21:19 Интересно, как же они не пересекаются, когда я хочу использовать такие фичи вебпака как чанки (для различных entry-points), динамические require?
и в чем вы видите проблему?Nicolai6120 писал(а): ↑2017.04.26, 21:19 Конечно если тупо использовать его как баднлер, проблем нет, сделал ассет, который подключает собранные css и js бандлы и радуешься, а вот если использовать на всю катушку (а именно в этих моментах вся прелесть webpack в сравнении с тем же gulp), то все не так очевидно.
-
- Сообщения: 143
- Зарегистрирован: 2014.08.13, 15:08
Re: Webpack...
Я думал об этом: при использовании динамического require, webpack генерит файлы со странными названия, вроде "0.js", "1.1.js", эти названия формируются динамически, отражаю структуру модулей (как я думаю). И только вебпак знает, как он их назовет при генерации. Возможно они конечно меняются и не часто, но изменил чуть структуру и все, привет, динамический модуль уже имеет другое название, а значит ассет, который его использовал в явном виде указав его имя - прокис.
Но позже понял, что вызов-то все равно происходит из того файла, название которого мы знаем, и оно не должно меняться, а значит, можно его в ассете указать.
Но позже понял, что вызов-то все равно происходит из того файла, название которого мы знаем, и оно не должно меняться, а значит, можно его в ассете указать.
-
- Сообщения: 143
- Зарегистрирован: 2014.08.13, 15:08
Re: Webpack...
НО, есть ряд других вопросов...
1) не понятно, как в скрипты, которые генерятся вебпаком, передавать переменные из php? Раньше я мог часть скриптов прямо в php использовать, а сейчас над ними оптимизации не будут произведены и они не попадут в конечный бандл. Часто это были скрипты, которые с ajax работают.
2) ассеты из самого фрэйморвка, вроде тех, что формы валидируют, тоже не попадут в бандл, а очень бы этого хотелось.
3) ассеты из сторонних расширений (/vendor), та же песня...
И были еще вопросы, забыл уже...вспомню - допишу.
1) не понятно, как в скрипты, которые генерятся вебпаком, передавать переменные из php? Раньше я мог часть скриптов прямо в php использовать, а сейчас над ними оптимизации не будут произведены и они не попадут в конечный бандл. Часто это были скрипты, которые с ajax работают.
2) ассеты из самого фрэйморвка, вроде тех, что формы валидируют, тоже не попадут в бандл, а очень бы этого хотелось.
3) ассеты из сторонних расширений (/vendor), та же песня...
И были еще вопросы, забыл уже...вспомню - допишу.
Re: Webpack...
именноNicolai6120 писал(а): ↑2017.04.27, 13:23 Я думал об этом: при использовании динамического require, webpack генерит файлы со странными названия, вроде "0.js", "1.1.js", эти названия формируются динамически, отражаю структуру модулей (как я думаю). И только вебпак знает, как он их назовет при генерации. Возможно они конечно меняются и не часто, но изменил чуть структуру и все, привет, динамический модуль уже имеет другое название, а значит ассет, который его использовал в явном виде указав его имя - прокис.
Но позже понял, что вызов-то все равно происходит из того файла, название которого мы знаем, и оно не должно меняться, а значит, можно его в ассете указать.
Re: Webpack...
глобальными переменнымиNicolai6120 писал(а): ↑2017.04.27, 13:29 НО, есть ряд других вопросов...
1) не понятно, как в скрипты, которые генерятся вебпаком, передавать переменные из php? Раньше я мог часть скриптов прямо в php использовать, а сейчас над ними оптимизации не будут произведены и они не попадут в конечный бандл. Часто это были скрипты, которые с ajax работают.
можно ручками и то и тоNicolai6120 писал(а): ↑2017.04.27, 13:292) ассеты из самого фрэйморвка, вроде тех, что формы валидируют, тоже не попадут в бандл, а очень бы этого хотелось.
3) ассеты из сторонних расширений (/vendor), та же песня...
-
- Сообщения: 143
- Зарегистрирован: 2014.08.13, 15:08
Re: Webpack...
А это как?глобальными переменными
а) ассеты фрэймворкаручками и то и то
если я использую виджет формы yii, у меня подсосется ассет, который уже смотрит на готовые файлы. В каком месте я должен изменить это поведение? Полностью переопределить стандартные виджеты?
б) ассеты из vendor
тоже получается нужно переопределить все расширение, чтобы собрать бандл из его ассетов и ему же скормить обратно. А в расширении найдется registerJS и снова к пункту 1.
Re: Webpack...
var app = app || {};
app.posts = {
...
};
и читать из js
в настройках asset bundle можно переопределить все. в доке инфа подробнее.Nicolai6120 писал(а): ↑2017.04.27, 13:54
а) ассеты фрэймворка
если я использую виджет формы yii, у меня подсосется ассет, который уже смотрит на готовые файлы. В каком месте я должен изменить это поведение? Полностью переопределить стандартные виджеты?
б) ассеты из vendor
тоже получается нужно переопределить все расширение, чтобы собрать бандл из его ассетов и ему же скормить обратно. А в расширении найдется registerJS и снова к пункту 1.
-
- Сообщения: 143
- Зарегистрирован: 2014.08.13, 15:08
Re: Webpack...
Если я все правильно понял, то это тоже самое что в php генерировать тэг <script></script> и в нем задавать переменной значение.var app = app || {};
app.posts = {
...
};
Re: Webpack...
а других спообов передать из динамики в статику значения, кроме как сгенерить их, нет.Nicolai6120 писал(а): ↑2017.04.27, 16:03Если я все правильно понял, то это тоже самое что в php генерировать тэг <script></script> и в нем задавать переменной значение.var app = app || {};
app.posts = {
...
};
Re: Webpack...
Или по месту в вёрстку подставлять:Nicolai6120 писал(а): ↑2017.04.27, 13:29 как в скрипты, которые генерятся вебпаком, передавать переменные из php?
Код: Выделить всё
<li class="item" data-id="<?= $item->id; ?>">...</li>