代码之家  ›  专栏  ›  技术社区  ›  Sam T

你应该多填充插件还是让它由实现来决定?

  •  0
  • Sam T  · 技术社区  · 7 年前

    我在Vue上遇到了一个问题。我的js插件要求捆绑polyfill Object.assign 在IE10的插件中。我想知道这是否是此类事情的最佳实践。

    这很简单,但会为具有本机支持的浏览器的插件增加不必要的开销。是否最好由实现来决定是否需要这种多填充?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Chris Deacy    7 年前

    在我看来,你不应该发送一个插件任何超过它需要运行。只是因为 应用程序需要IE10支持,但这并不意味着 每个用户的

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

    关于您对已经原生支持polyfill的浏览器中的polyfill的评论,通常最佳做法是在应用polyfill之前检查浏览器是否具有原生支持,因此除非需要,否则插件将什么也不做。例子:

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