webpack encore hash Как выключить добавление хэша к именам файлов (entries)
Primary tabs
Самым простым решением является создание дополнительной конфигурации вебпака, для тех файлов, которым не нужно кэширование, например (в webpack.config.js):
// ----------- Конфигурация для сборки Основного приложения
Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.addEntry('react-app', './assets/js/react/react-app.js')
.splitEntryChunks()
.enableSingleRuntimeChunk()
.cleanupOutputBeforeBuild()
.enableBuildNotifications()
.enableSourceMaps()
.enableVersioning(Encore.isProduction())
.configureBabel(babelConfigCallback, babelEncoreOptions)
.enableSassLoader()
.configureDefinePlugin(envPlugin)
.enableReactPreset() // для работы с react.js
.configureWatchOptions(configWatchOptionsCallback)
.addAliases(pathAliases)
;
const mainEntriesList = Encore.getWebpackConfig();
mainEntriesList.name = 'mainEntriesList';
Encore.reset();
// ----------- Конфигурация для сборки Виджета
Encore
.setOutputPath('public/widget/')
.setPublicPath('/widget')
.addEntry('react-widget', './assets/js/react-widget/react-widget.js')
.splitEntryChunks()
.enableSingleRuntimeChunk()
.cleanupOutputBeforeBuild()
.enableBuildNotifications()
.enableSourceMaps()
.enableVersioning(false) // выключаем добавление хэша для виджета!
.configureBabel(babelConfigCallback, babelEncoreOptions)
.enableSassLoader()
.configureDefinePlugin(envPlugin)
.enableReactPreset() // для работы с react.js
.configureWatchOptions(configWatchOptionsCallback)
.addAliases(pathAliases)
;
const widgetEntriesList = Encore.getWebpackConfig();
widgetEntriesList.name = 'widgetEntriesList';
// экспортируем настройки одним массивом
module.exports = [mainEntriesList, widgetEntriesList];При этом config/packages/webpack_encore.yaml может выглядеть как-то так:
webpack_encore:
output_path: '%kernel.project_dir%/public/build'
builds:
mainEntriesList: '%kernel.project_dir%/public/build'
widgetEntriesList: '%kernel.project_dir%/public/widget'Читайте подробнее о поддержке нескольких конфигураций в документации: https://symfony.com/doc/current/frontend/encore/advanced-config.html
- Log in to post comments
- 1871 reads