说在前面
今天处理浏览器兼容性的时候,Edge浏览器运行良好的情况下,IE浏览器报错SCRIPT5009: “Symbol”未定义,经过了很长时间的搜索,从webpack官网得到了解决方案,这里分享给大家。
啰嗦两句
IE作为著名的拦路虎,对于ES6的支持可以说是一塌糊度,所以我们开发的系统如果想兼容IE,比如箭头函数等ES6的特性是需要进行转码处理的。
babel是我们熟知的转码软件,它可以帮我们处理大多数的转码问题,但是我配置之后仍然会提示我SCRIPT5009: “Symbol”未定义,可能这部分内容需要单独处理吧,请参照下方处理方案。
开门见山
npm install --save babel-polyfill
然后,使用 import
将其引入到我们的主 bundle 文件:
src/index.js
+import 'babel-polyfill';
+
function component() {
const element = document.createElement('div');
element.innerHTML = join(['Hello', 'webpack'], ' ');
// Assume we are in the context of `window`
this.alert("Hmmm, this probably isn't a great idea...");
return element;
}
document.body.appendChild(component());
更多内容请参考官方网站。
说到最后
以上。