【问题标题】:Object.entries is not a functionObject.entries 不是函数
【发布时间】:2020-02-14 16:02:58
【问题描述】:

最近开始出现很多错误,参考这个:

Object.entries is not a function

这段代码在 Vue 组件的几个地方都用到了。

还有一个.browserslistrc文件:

defaults

最近,此错误开始来自运行 iOS 10.1 (Facebook 68.0.0) 的设备。在那之前,它只在 Andrioid

请告诉我,我该如何解决这种情况?也许需要在.browserslistrc 文件中写入一些内容?或者是其他东西? JS中没有其他类似问题。

【问题讨论】:

  • iOS 10.3 上的 Safari 支持 Object.entries,至少从我正在阅读的内容来看。您可能应该向下移动到 ES6,填充它,...
  • @ASDFGerte 这可以以某种方式解决吗?同时适用于 Android
  • 方法很多,不过我在这方面没有太多经验,因为我几乎不需要迎合旧版本(幸运我!)。如前所述,向下发送到 ES6(例如,使用 babel,或者如果你仍然使用 typescript,然后配置 tsc,...),为函数添加一个 polyfill(如果它只是那个,而不是一堆其他 ES2017+ 函数) , ...
  • 查看我对this question的回复。
  • @ASDFGerte 在我看来,我有一个正常的配置,我需要修复一个,最低限度。它有CoreJS。我害怕打破它。你能告诉我吗? pastebin.com/raw/tZrx4MRg

标签: javascript vue.js vuejs2


【解决方案1】:

您提到的设备/浏览器似乎不支持Object.entries。要支持本身不支持 Object.entires 的环境,请确保在 babel.config.js 文件的 polyfill 部分添加 es7.object.entries。如果您在此部分看到 es6.object,请将其删除。

例子:

module.exports = {
  presets: [
    [
      "@vue/app",
      {
        polyfills: ["es7.object.entries"]
      }
    ]
  ]
};

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
相关资源
最近更新 更多