如何实现我想要的捆绑拆分将一个捆绑文件拆分为两个捆绑文件?

时间:2021-04-15 01:44:50

标签: webpack

我正在尝试解决捆绑拆分,但文档令人困惑 我的目标是将 bundle.js 分成两个包; addon.js 包含我的应用逻辑,vendor.js 包含我的所有 NPM 模块

这是我当前的优化属性

  optimization: {
    minimize: false,
    splitChunks: {
      chunks: 'all',
      name: true,
      cacheGroups: {
        defaultVendors: {
          test: /[\\/]node_modules[\\/]/,
          name: 'vendor',
          reuseExistingChunk: true,
        },
        default: {
          name: 'addon',
          reuseExistingChunk: true,
        }
      }
    }
  },

它正在做的是将供应商和应用程序代码放入 addon.js 并创建一个只有引导程序代码的 bundle.js,因为我猜它仍然是入口点。我究竟做错了什么?我不明白缓存组应该是什么

1 个答案:

答案 0 :(得分:0)

我认为您不需要 default,并尝试使用 test: /node_modules/ 进行供应商测试 我的只是

                commons: {
                    test: /node_modules/,
                    name: "vendor",
                    chunks: "all",
                },

它可以工作,应用程序代码进入一个名为 output.filename 的包,来自 node_modules 的所有内容进入 vendor-{hash}.js 我之前尝试在 test 中包含路径分隔符时遇到问题