Webpack减少打包数量和体积(Umi 3.*中)

在UMI 3.*中配置:

javascript 复制代码
export default defineConfig({
  chunks: ['vendors', 'umi'],
  chainWebpack: function (config: any, { webpack }: any) {
    config.plugin('chunkPlugin').use(webpack.optimize.LimitChunkCountPlugin, [
      {
        maxChunks: 5, // 必须大于或等于 1,此处设置文件数量
        chunkOverhead: 100,
      },
    ]);

    config.merge({
      optimization: {
        splitChunks: {
          chunks: 'all',
          minSize: 30000,
          minChunks: 3,
          automaticNameDelimiter: '.',
          cacheGroups: {
            vendor: {
              name: 'vendors',
              test({ resource }: any) {
                return /[\\/]node_modules[\\/]/.test(resource);
              },
              priority: 10,
            },
          },
        },
      },
    });
  },
});

在webpack中:

javascript 复制代码
  const webpack = require('webpack')
  chainWebpack: (config) => {
    config.plugin('chunkPlugin').use(webpack.optimize.LimitChunkCountPlugin, [{
      maxChunks: 5, // 必须大于或等于 1,此处设置文件数量
      minChunkSize: 100, // webpack官网意思是合并小于设置数量大小文件,如果产生的文件大小小于设置值,那么直接和其他的文件合并,目前该配置没有产生效果, 采用下面新属性chunkOverhead
      chunkOverhead: 100
    }])
  },
相关推荐
cxxcode3 天前
JavaScript 模块化:从模块规范到打包原理
前端·webpack
zzx2006__3 天前
Ajax➕node.js➕webpack
ajax·webpack·node.js
Linsk7 天前
前端开发:如何优雅引入polyfill
webpack·vite·rollup.js
江华森8 天前
前端构建工具 Webpack 速览
前端·webpack·node.js
Patrick_Wilson10 天前
从 webpack 到 Turbopack:讲透 monorepo 里的 transpilePackages
webpack·next.js·前端工程化
程序员晓琪11 天前
深入解析:从 Webpack 到 Vite,多入口多端项目的工程化迁移实战
前端·webpack·vite
xiaofeichaichai12 天前
Vite原理与Webpack对比
前端·webpack·node.js
至乐活着13 天前
前端工程化最佳实践:从规范到自动化构建的全面指南
webpack·自动化·代码规范·构建工具·前端工程化
漂流瓶jz13 天前
理解Webpack插件机制:从插件使用、各类编译对象、Tapable到自定义插件与钩子开发
前端·javascript·webpack