Эффективно использовать веб-пакет Encore
Желая улучшить время компиляции ресурсов в моем проекте 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;
действительно ли web pack - инструмент, который мне нужен?