【问题标题】:require('core-js/es6/map') polyfill not working for spread Map object on IE11require('core-js/es6/map') polyfill 不适用于 IE11 上的扩展 Map 对象
【发布时间】:2018-06-18 05:53:34
【问题描述】:

我使用TypeScriptBabel

我有这样的代码:

 const map1 = new Map(...);
 const map2 = new Map(...);
 const foo = [...map1, ...map2];

如果我只导入:

require('core-js/es6/map');

上面的代码(传播)不能按预期工作(IE 11),但如果我导入:

require('core-js');

代码按预期工作。

如何导入传播Map 对象所需的功能?

【问题讨论】:

  • [...Map Map 是一个内置对象(在较新的浏览器上),这可能不是您想要的? (选择另一个名字)
  • 对不起,这是更多的伪代码,我改变了它:D
  • Have you taken a look through the docs? 说如何导入你需要的东西,esfeature的区别等等
  • 是的,我试过了。 '找不到模块:无法解析'core-js/features/map''。我检查了 node_modules 文件夹,没有 features 目录存在
  • not work as expect 是什么意思?

标签: javascript typescript internet-explorer ecmascript-6 babeljs


【解决方案1】:

我发现它需要

import 'core-js/fn/symbol/for';

【讨论】:

    【解决方案2】:

    你应该试试babel-plugin-transform-object-rest-spread。在我的例子中,当使用babel-preset-env 时,对象传播默认不可用。

    【讨论】:

    • 我试过了。对我没有帮助。我很感兴趣为什么代码在导入所有“core-js”时有效,但在仅包含“core-js/es6/map”时无效。所以这意味着 nesseray 功能存在于 core-js 库中
    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 2018-03-31
    • 2014-01-29
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    相关资源
    最近更新 更多