我正在使用 ChildNode.remove() 并且我由 Mozilla 描述我需要一个用于 IE 的 polyfill。我正在使用配置了 babel-polyfill 的 webpack:

 "babel-polyfill": "^6.13.0",
 "webpack": "^2.4.1",

webpack.config.babel.js:
    entry: ['babel-polyfill', join(__dirname, path, "index.web.js") ],

我的假设是 babel-polyfill 将为我提供我需要的所有常见的 polyfill - 但事实并非如此,我在 Internet Explorer 11 0x214218.11 中出现错误。我错过了另一个配置吗?

谢谢

最佳答案

据我所知,babel-polyfill 包只是对 javascript 对象进行 polyfill,Childnode.remove() 是 DOM 的一部分,所以 babel 不会对它做任何事情。我建议您只使用 Mozilla documentation 中建议的 polyfill。

// from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md
(function (arr) {
  arr.forEach(function (item) {
    if (item.hasOwnProperty('remove')) {
      return;
    }
    Object.defineProperty(item, 'remove', {
      configurable: true,
      enumerable: true,
      writable: true,
      value: function remove() {
        this.parentNode.removeChild(this);
      }
    });
  });
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);

关于javascript - ChildNode.remove() polyfill 和 babel-polyfill,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43756244/

10-13 05:40