【问题标题】:Babel does not translate Map() when using Create-React-AppBabel 在使用 Create-React-App 时不翻译 Map()
【发布时间】:2017-08-04 12:40:23
【问题描述】:

我有一个使用 Create-React-App 的 React 应用程序。我在我的应用程序中使用了 ES6 中包含的 Map() 数据结构。但是,在 IE11 中它不起作用。 Babel(在 Create-React-App 的引擎盖下 - 我没有弹出)不应该处理这个吗?

如果没有,有什么解决办法吗?

【问题讨论】:

  • 需要配置 Babel 来制作一些类 polyfill。其中一些是不可能的(例如代理)。也许这个模块可以帮助npmjs.com/package/es6-map
  • 如果可能,我不想添加另一个依赖项

标签: reactjs ecmascript-6 babeljs create-react-app


【解决方案1】:

正如其他人已经提到的,当相关浏览器本身不支持该功能时,您将需要一个 polyfill 来添加该功能。由于您已经在使用 Babel,因此最简单的方法是使用 Babel polyfill。

如果您不想添加其他依赖项,可以使用找到 hereMap polyfill。

【讨论】:

  • 仅供参考,链接用于 Array.prototype.map,而不是 Map。
【解决方案2】:

没有。

使用 babel-polyfill 获得跨浏览器 babel 支持:

npm install --save babel-polyfill

如果您使用的是 webpack/browserify,那么您应该如何合并 polyfill:

module.exports = {
  entry: ["babel-polyfill", "./app/js"]
};

如果您仍然不清楚,请阅读文档here

【讨论】:

  • 这个模块支持地图类吗?
  • 我使用 Create-React-App。 Webpack 包含在引擎盖下,但我无法在不弹出应用程序的情况下修改它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-22
  • 2020-10-11
  • 2022-01-22
  • 1970-01-01
  • 2018-06-06
  • 2021-04-27
相关资源
最近更新 更多