webpack生产环境性能优化打包构建速度-oneOf

在webpack配置中,通过oneOf规则可以优化构建速度。当每个文件不再需要全部rules检查,而只需一条规则解析时,使用oneOf确保文件匹配到第一条合适的规则后停止后续匹配。正确安排oneOf内loader的顺序至关重要,避免同一文件需要多个loader处理,例如,将eslint-loader置于oneOf顶部,以优先处理js文件。
摘要由CSDN通过智能技术生成

在加载loader时候,默认每个文件都会被所有的rules检查,但我们很多文件都只需要一条rules就可以解析完成,这无疑减慢了打包效率,因此可以考虑使用rules的oneOf规则,可以保证文件从oneOf里面的规则从上到下检查,满足一个rule之后就可以不进行下面的loader(需要做好顺序,而且不能同一个文件需要两个loader规则同时处理

所以如果有两个文件都需要不同的rule处理的时候把其中一个loader提取到oneOf外面,就可以了

比如对于js文件的eslint-loader和babelloader,我们考虑把先执行的eslint-loader放到oneOf的上方就可以了。

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin"); //html模板
const MiNiCssExtractPlugin = require("mini-css-extract-plugin"); //提取出css
const OptimizeCssAssetsWebpackPlugin = require("optimize-css-assets-webpack-plugin"); //压缩css
process.env.NODE_ENV = "production";
//复用css的loader
let commonCssLoader = [
  {
   
    loader: MiNiCssExtractPlugin.loader,
    options: {
   
      publicPath: "../", //避免css中的路径引入错误
    },
  }, //代替style标签而是引入css的形式
  "css-loader",
  {
   
    //把css压缩
    loader: "postcss-loader"<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值