ChildNode.remove() polyfill 和 babel-polyfill
ChildNode.remove() polyfill with babel-polyfill
我正在使用 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 中遇到错误。我还错过了其他配置吗?
谢谢
据我所知,babel-polyfill
包只是 polyfills javascript 对象,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]);
作为 babel-polyfill 的替代(或补充),您可以查看 Polyfill.io。
与 babel-polyfill
一样,Polyfill.io 将提供核心 Javascript 功能(例如 Array.from
),但与 babel-polyfill 不同的是,它还 polyfill DOM 行为,(例如 ChildNode.remove()
)。默认情况下,它使用浏览器用户代理字符串来确定哪些 polyfill 是必需的,从而防止现代浏览器需要下载他们不需要的 polyfill。
Polyfill.io 没有提供而 babel-polyfill
提供的主要内容是对生成器函数的支持(由 regenerator-runtime 提供),因此为了获得完整的功能,您需要包括那个而不是整个 babel-polyfill
.
我创建了一个微型 polyfill npm。
应该让你的生活更轻松。
https://www.npmjs.com/package/element-remove
我正在使用 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 中遇到错误。我还错过了其他配置吗?
谢谢
据我所知,babel-polyfill
包只是 polyfills javascript 对象,Childnode.remove()
是 DOM 的一部分,所以 babel 不会对它做任何事情。我建议您只使用 Mozilla documentation.
// 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]);
作为 babel-polyfill 的替代(或补充),您可以查看 Polyfill.io。
与 babel-polyfill
一样,Polyfill.io 将提供核心 Javascript 功能(例如 Array.from
),但与 babel-polyfill 不同的是,它还 polyfill DOM 行为,(例如 ChildNode.remove()
)。默认情况下,它使用浏览器用户代理字符串来确定哪些 polyfill 是必需的,从而防止现代浏览器需要下载他们不需要的 polyfill。
Polyfill.io 没有提供而 babel-polyfill
提供的主要内容是对生成器函数的支持(由 regenerator-runtime 提供),因此为了获得完整的功能,您需要包括那个而不是整个 babel-polyfill
.
我创建了一个微型 polyfill npm。 应该让你的生活更轻松。 https://www.npmjs.com/package/element-remove