【问题标题】:Is there a way to code-split poyfills with useBuiltIns: usage?有没有办法使用 useBuiltIns 对 poyfill 进行代码拆分:用法?
【发布时间】:2020-07-02 09:11:21
【问题描述】:

在 webpack v4 和 babel v7 上,我想使用 @babel\preset-envuseBuiltIns: "usage" 选项来获取所需 polyfill 的特定导入,但我想将导入的 polyfill 从我的主包中分离出来,并将它们放入另一个文件,比如polyfills.js 或其他东西。

在有关 shimming 的 webpack 文档中,有一个 bundling the polyfills into a separate file 的示例,但它需要一个单独的入口文件并声明导入。问题是 useBuiltIns: "usage" 不应该声明任何导入 (see the docs),因为 Babel 会处理它,所以很遗憾这不起作用。

所以问题是如何在使用 useBuiltIns: "usage" 时将我的 polyfill 捆绑到一个单独的文件中?

【问题讨论】:

    标签: webpack babeljs core-js


    【解决方案1】:
    // webpack.config.js
    module.exports = {
      optimization: {
        splitChunks: {
          cacheGroups: {
            polyfills: {
              test: /[\\/]node_modules[\\/](@babel|core-js|regenerator-runtime)[\\/]/,
              name: 'polyfills',
              chunks: 'initial',
              priority: 60,
              enforce: true,
              reuseExistingChunk: true
            }
          }
        }
      }
    };
    

    【讨论】:

    • 不鼓励仅使用代码的答案,因为它们没有解释如何解决问题中的问题。考虑更新您的答案以解释它的作用以及它如何解决问题 - 这不仅有助于 OP,还有助于其他有类似问题的人。请查看How do I write a good answer
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多