webpack encore

webpack encore Виджет: как собрать вообще все один файл (в т.ч. без добавления хэша)

В сравнении с "обычной" сборкой энкора следует сделать следующее:

  1. Выключить сбор CSS в отдельный файл через вызов disableCssExtraction()
  2. Выключить сборку runtime.js в отдельный файл: для этого вместо enableSingleRuntimeChunk() используем disableSingleRuntimeChunk()
  3. Не вызывать метод splitEntryChunks() "разбивки" сборки не несколько файлов с целью оптимизации

В итоге настройка для виджета может выглядеть как-то так:

webpack encore inline Загрузка CSS стилей (без создания отдельных файлов)

Чтобы CSS собирался внутрь JS файла, используйте вызов:

Encore.disableCssExtraction()

например:

webpack encore hash Как выключить добавление хэша к именам файлов (entries)

Самым простым решением является создание дополнительной конфигурации вебпака, для тех файлов, которым не нужно кэширование, например (в webpack.config.js):

webpack encore Настройка пседонима пути для файлов javascript

В Symfony 4.3 можно использовать вызов (webpack.config.js):

Encore
    .addAliases({ // псевдонимы путей для более удобной загрузки 
// вне зависимости от уровня вложенности файл в приложении
        '@universal': path.resolve(__dirname, 'assets/js/react/components/universal'),
      },
    );

После чего вместо путей типа:

import FormSection from '../../../universal/form/FormSection'

использовать:

react Warning: Invalid DOM property class Как разрешить обычные html атрибуты

Warning: Invalid DOM property class

Известно что вместо напр. class в React надо писать className,
подобные проблемы можно убрать используя babel-plugin-react-html-attrs

Стандартная установка идет так:

webpack dev server Invalid Host/Origin header Ошбика, как решить

Запускайте дев-сервер с опцией --host (можно добавить её в команду из package.json), например:

--host mysite.loc

в качестве адреса можно указать тот, на котором работает ваша страница, которую и требуется перезагружать при обновлении js.

Подробнее об опции: https://webpack.js.org/configuration/dev...

Webpack Encore

То же самое в symfony 4 можно решить модификации package.json, в моем случае, я использовал формат:

symfony webpack encore Установка и работа через npm (без yarn)

По сути encore является дополнением (оберткой) к Webpack, поэтому многие его команды тоже являются надстройками/упаковками над близкими по смыслу возможностями webpack-а.

Установка

Сначала ставим обычным образом энкор:

composer require encore

Потом подтягиваем зависимости с помощью npm:

Subscribe to RSS - webpack encore