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
    }])
  },
相关推荐
liangshanbo12158 天前
面试题:Webpack 的 publicPath 有什么作用?
前端·webpack·node.js
liangshanbo121510 天前
Webpack vs Vite 底层原理高频追问的问题
前端·webpack·node.js
liangshanbo121510 天前
面试题:AI 对话上下文超限怎么办?
面试·webpack·devops
liangshanbo121511 天前
Webpack 文件指纹面试题整理
前端·webpack·node.js
liangshanbo121511 天前
Webpack 常见 Plugin 面试题
前端·webpack·node.js
liangshanbo121511 天前
Webpack Tree Shaking 面试题整理
前端·webpack·node.js
陪我一起学编程11 天前
vue3笔记
前端·webpack·vue3·vite·脚手架·vue3笔记·组件式
liangshanbo121512 天前
Webpack的分包策略面试题
前端·webpack·node.js
liangshanbo121513 天前
面试题:如何优化 Webpack 的打包速度?
前端·webpack·node.js
晚风醉蝶15 天前
webpack 模块提取
前端·webpack·node.js·ast·逆向分析