🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 Polyfill 是一块代码(通常是 Web 上的 JavaScript),用来为旧浏览器提供它没有原生支持的较新的功能。 比如说 polyfill 可以让 IE7 使用 Silverlight 插件来模拟 HTML Canvas 元素的功能,或模拟 CSS 实现 rem 单位的支持,或 text-shadow,或其他任何你想要的功能。 >[danger] 我们希望浏览器提供一些特性,但是没有,然后我们自己写一段代码来实现他,那这段代码就是Polyfill 。 ## 二、babel-polyfill Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。 举例来说,ES6在Array对象上新增了Array.from方法。Babel就不会转码这个方法。如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片。 ## 三、安装 ``` npm  install --save babel-polyfill ``` ``` import  'babel-polyfill' 或 require("babel-polyfill") ``` 在webpack.config.js中加入babel-polyfill到你的入口数组; ``` module.exports= { entry:["babel-polyfill","./app/js"]} ```