高级Webpack配置
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.0,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
高级Webpack配置
很简单,Encore生成Webpack配置,用于您的webpack.config.js
文件。Encore不支持添加所有的Webpack配置选项,因为您可以自己轻松添加许多。
例如,假设您需要设置Webpack的watchOptions设置。要做到这一点,从Encore获取后修改配置:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / webpack.config.jsvar安可=需要(“@欧宝娱乐app下载地址symfony / webpack-encore”);/ /……所有Encore配置在这里//获取配置,然后修改它!varconfig = Encore.getWebpackConfig();配置。watchOptions = {民意调查:真正的,忽略了:/ node_modules /};//其他示例:添加别名或扩展名// config.resolve.alias.local =路径。解决(__dirname ' /资源/ src。');/ / config.resolve.extensions.push (json);//导出最终配置模块.exports = config;
但是要注意不要意外地覆盖Encore中的任何配置:
1 2 3 4 5 6 7 8
/ / webpack.config.js/ /……// GOOD -修改config.resolve.extensions数组config.resolve.extensions.push (json的);// BAD -替换由Encore添加的任何扩展// config.resolve.extensions = ['json'];
定义多个Webpack配置
Webpack支持传递配置数组,它们是并行处理的。Webpack Encore包含一个重置()
对象,该对象允许重置当前配置的状态以构建一个新配置:
12 34 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
//定义第一个配置安可.setOutputPath (“web /构建/”) .setPublicPath (/构建的) .addEntry (“应用程序”,”。/资产/ js / main.js”) .addStyleEntry (“全球”,”。/资产/ css / global.scss”) .enableSassLoader() .autoProvidejQuery() .enableSourceMaps(!Encore.isProduction());//构建第一个配置常量firstConfig = Encore.getWebpackConfig();//为配置设置一个唯一的名称(稍后需要!)firstConfig.name =“firstConfig”;//重置Encore以构建第二个配置Encore.reset ();//定义第二个配置安可.setOutputPath (“web /构建/”) .setPublicPath (/构建的) .addEntry (“移动”,”。/资产/ js / mobile.js”) .addStyleEntry (“移动”,”。/资产/ css / mobile.less”) .enableLessLoader() .enableSourceMaps(!Encore.isProduction());//构建第二个配置常量secondConfig = Encore.getWebpackConfig();//为配置设置一个唯一的名称(稍后需要!)secondConfig.name =“secondConfig”;//将最终配置导出为多个配置的数组模块.exports = [firstConfig, secondConfig];
当运行Encore时,两个配置将并行构建。如果您喜欢单独构建配置,请传递——config-name
选择:
1
$运行encore dev——config-name firstConfig
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。