如何解决IE不兼容ES6:使用Babel 引入browser-polyfill.min.js和browser.min.js
abel 默认只转换新的 JavaScript 句法,而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign)都不会转码。为了解决这个问题,我们使用一种叫做 Polyfill(代码填充,也可译作兼容性补丁) 的技术。例如:1.新的变量
如何解决IE不兼容ES6
引入browser.min.js使浏览器兼容ES6基本语法
例如:1.新的变量声明方式 let/const 2.箭头函数 3.模板字符串 4.函数默认参数 5.展开运算符等基础语法
。
引入browser-polyfill.min.js使浏览器兼容ES6基本语法
abel 默认只转换新的 JavaScript 句法,而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign)都不会转码。为了解决这个问题,我们使用一种叫做 Polyfill(代码填充,也可译作兼容性补丁) 的技术。
script标签的type的值设为text/babel
<script type="text/javascript" src="./babel/browser-polyfill.min.js"></script>
<script type="text/javascript" src="./babel/browser.min.js"></script>
<script type="text/babel">
//ES6语法
...
</script>
脚本下载地址
https://www.cdnpkg.com/babel-core/file/browser.min.js/?id=21871
https://www.cdnpkg.com/babel-core/file/browser-polyfill.min.js/?id=21871
使用
<!DOCTYPE html>
<html lang="ch">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script type="text/javascript" src="./babel/browser.min.js"></script>
<script type="text/babel">
let id = 123;
alert(`name: ${id}`);
</script>
</body>
</html>
其他参考
https://zhuanlan.zhihu.com/p/136535588
http://www.5imoban.net/jiaocheng/jquery/202005123839.html
https://blog.csdn.net/w_____w_____/article/details/109908437
https://www.cdnpkg.com/babel-core/file/browser.min.js/?id=21871
https://github.com/babel/babel
https://blog.csdn.net/yunchong_zhao/article/details/104068518
https://blog.csdn.net/zhangshab/article/details/83684824
https://blog.csdn.net/xiaoxiao_qing/article/details/106721794
https://blog.csdn.net/Benxiaohai_311/article/details/123640938
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)