Javascript 使用babel polyfill删除()polyfill
我正在使用Mozilla描述的IE需要polyfill。我正在使用配置了babel polyfill的网页:Javascript 使用babel polyfill删除()polyfill,javascript,babeljs,polyfills,babel-polyfill,Javascript,Babeljs,Polyfills,Babel Polyfill,我正在使用Mozilla描述的IE需要polyfill。我正在使用配置了babel polyfill的网页: "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,但事实并
"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
软件包只对javascript对象进行了polyfill处理,Childnode.remove()
是DOM的一部分,因此babel不会对它做任何处理。我建议您只使用中建议的polyfill
作为babel polyfill的替代品(或附加品),您可以查看
与babel polyfill类似,polyfill.io将提供核心Javascript功能(例如,Array.from
),但与babel polyfill不同,它也会对DOM行为进行多填充(例如,ChildNode.remove()
)。默认情况下,它使用浏览器用户代理字符串来确定需要哪些多边形填充,从而防止现代浏览器需要下载不需要的多边形填充
Polyfill.io没有提供的主要功能是对生成器函数的支持(由regenerator runtime提供),而babel Polyfill.io没有提供,因此,为了实现完整的功能,您需要将其包括在内,而不是包括整个
babel Polyfill
我创建了一个小型的Polyfill npm。
这会让你的生活更轻松。
CharacterData和DocumentType本身都存在一些兼容性问题,因此请谨慎使用这些额外的多边形填充。您到底是如何实现这一点的?您只需将函数粘贴到脚本的末尾?必须先注册多边形填充,然后才能使用它们,因此它应该在开头而不是结尾。
// 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]);