制作polyfill束的所有组合

时间:2015-05-29 16:39:10

标签: webpack

我想检测浏览器上的功能,然后使用我需要的确切polyfill加载特定的块。例如,假设有两个polyfill(我们称之为a和b),我需要创建三个包:

  1. polyfillbundle1.js - 仅包含
  2. polyfillbundle2.js - 仅包含b
  3. polyfillbundle3.js - 包含a和b
  4. 然后根据Modernizr在浏览器上检测到的内容加载精确的polyfillbundle。例如,如果浏览器1没有任何polyfill,浏览器2需要模块b,浏览器3需要一切,那么浏览器2将获得polyfillbundle2.js,浏览器3将获得polyfillbundle3.js

    是否有插件可以执行此操作?如果没有,我将如何做这样的事情?

1 个答案:

答案 0 :(得分:0)

实现这一目标的一种天真的方法是编写这样的条目配置:

entry: {
    bundle1: "./bundle1",
    bundle2: "./bundle2",
    bundle3: "./bundle3",
},

然后在每个条目文件中,您需要为每个捆绑包提供所需的填充。

我假设下一步是动态生成此配置和捆绑包(生成排列等),但我认为上述内容可以作为起点。

仅仅生成这些捆绑包还不够,但是您需要一些聪明的方法来使浏览器加载正确的捆绑包...

请注意,polyfills.io等服务可以为您解决很多问题。根据您的情况,这可能是一种方法。或者,您可以生成最坏情况的捆绑(垫片非常小)并为每个用户提供服务。