微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 webpack 4/5 中配置 splitChunks 以获取单独的供应商文件?

如何解决如何在 webpack 4/5 中配置 splitChunks 以获取单独的供应商文件?

这是我的 webpack 3 配置。


    function isvendorJS(module) {
      if (module.resource && (/^.*\.(css|scss)$/).test(module.resource)) return false
      return module.context && module.context.includes('node_modules')
    }

    const plugins = [
      new webpack.optimize.CommonsChunkPlugin({
        name: 'view-vendor',chunks: ['view'],minChunks: isvendorJS
      }),new webpack.optimize.CommonsChunkPlugin({
        name: 'config-vendor',chunks: ['configuration'],new webpack.optimize.CommonsChunkPlugin({
        name: 'common-vendor',chunks: ['config-vendor','view-vendor'],minChunks: 2
      })
    ]

    return {
      entry: {
        view: 'some path',configuration: 'some path'
      }
    }

它的目标是从 2 个入口点获得 5 个文件

  • 入口文件 A 及其使用的本地模块
  • 入口文件 B 及其使用的本地模块
  • 仅在 A 中使用的供应商文件
  • 仅在 B 中使用的供应商文件
  • 两者都使用的供应商文件

我还需要这些文件具有固定名称,以便我可以将它们导入到我的 HTML 中。

一个简单的配置

splitChunks: {
  chunks: 'all'
}

几乎可以满足我的需求,除了 a) 它将我的本地模块包含在“仅 A”和“仅 B”块中 b) 它为它们创建动态名称

搜索了几个小时,但无法找到解决方案,也无法理解这整个块 majic 现在是如何工作的,所以我寻求帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。