Желая улучшить время компиляции ресурсов в моем проекте Symfony с помощью веб-пакета Encore, я нахожусь в компиляции, которая никогда не заканчивается, что заставляет меня думать, что что-то ускользает от меня.Мне трудно понять этот инструмент.Я хотел бы понять, как я могу извлечь из этого выгоду в проекте Symfony.
Вот часть документа, которую я хотел применить: WebPackEncore
здесьКонфиг, который я хотел улучшить:
var Encore = require('@symfony/webpack-encore');
var CommonsChunkPlugin =
require('webpack/lib/optimize/CommonsChunkPlugin');
Encore
.setOutputPath('web/build/')
.setPublicPath('/build')
.cleanupOutputBeforeBuild()
.addEntry('app', './app/Resources/assets/default/js/main.js')
.addEntry('home', [
'./app/Resources/assets/default/js/home.js',
'./app/Resources/assets/default/scss/home.scss',
])
.addEntry('page1', [
'./app/Resources/assets/default/js/page1.js',
'./app/Resources/assets/default/scss/page1.scss',
])
.addEntry('page2', [
'./app/Resources/assets/default/js/page2.js',
'./app/Resources/assets/default/scss/page2.scss',
])
(... etc)
.enableSassLoader(function(sassOptions) {}, {
resolveUrlLoader: false
})
.autoProvidejQuery()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning()
;
// export the final configuration
module.exports = Encore.getWebpackConfig();
Вот протестированный мной конфиг:
var Encore = require('@symfony/webpack-encore');
const configs = [];
//app
Encore.setOutputPath('web/build/main').setPublicPath('/build/main')
.cleanupOutputBeforeBuild()
.addEntry('app', './app/Resources/assets/default/js/main.js')
.autoProvidejQuery()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning()
.cleanupOutputBeforeBuild()
;
const appConfig = Encore.getWebpackConfig();
appConfig.name='appConfig';
configs.push(appConfig);
//home
Encore.setOutputPath('web/build/home').setPublicPath('/build/home')
.cleanupOutputBeforeBuild()
.addEntry('home', [
'./app/Resources/assets/default/js/home.js',
'./app/Resources/assets/default/scss/home.scss',
])
.enableSassLoader(function(sassOptions) {}, {
resolveUrlLoader: false
})
.autoProvidejQuery()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning()
.cleanupOutputBeforeBuild()
;
const homeConfig = Encore.getWebpackConfig();
homeConfig.name='homeConfig';
configs.push(homeConfig);
(...etc)
module.exports = configs;
действительно ли webpack - инструмент, который мне нужен?