【问题标题】:Should you polyfill plugins or leave it up to the implementation?您应该填充插件还是将其留给实现?
【发布时间】:2017-11-18 22:39:13
【问题描述】:

我的一个 Vue.js 插件提出了一个问题,要求在 IE10 的插件中为 Object.assign 捆绑一个 polyfill。我想知道这对于此类事情是否通常是最佳实践。

这很简单,但会在具有本机支持的浏览器的插件中增加不必要的开销。由实现来要求这样的 polyfill 是否更好?

【问题讨论】:

    标签: javascript plugins babeljs polyfills


    【解决方案1】:

    在我看来,您不应该在发布插件时提供超出运行所需的任何内容。仅仅因为一个用户的应用需要 IE10 支持,并不意味着每个用户的都需要。

    我能看到的唯一包含 polyfill 的情况是,如果 Vue 本身对支持 IE10 采取强硬立场,从而产生了 Vue 插件也遵循这一点的期望。但是,在大多数情况下,如果您的插件的用户需要一个 polyfill,那么他们应该没有任何理由不能自己将它添加到他们的项目中。

    关于您对本机支持的浏览器中的 polyfill 的评论,通常最好的做法是在应用 polyfill 之前检查浏览器是否具有本机支持,因此除非需要,否则插件不会执行任何操作。示例:

    if (typeof Object.assign !== 'function') {
      Object.assign = myPolyfill
    }

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 2015-09-08
      • 2022-08-15
      • 1970-01-01
      • 2012-07-23
      • 2019-08-27
      相关资源
      最近更新 更多