babel / polyfill
Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在老版本的浏览器执行。
Babel 的配置文件是.babelrc
,存放在项目的根目录下。
下面的命令在项目目录中,安装 Babel。
Babel 也可以用于浏览器环境,使用@babel/standalone模块提供的浏览器版本,将其插入网页。
注意,网页实时将 ES6 代码转为 ES5,对性能会有影响。生产环境需要加载已经转码完成的脚本。
Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比如Iterator
、Generator
、Set
、Map
、Proxy
、Reflect
、Symbol
、Promise
等全局对象,以及一些定义在全局对象上的方法(比如Object.assign
)都不会转码。但可透過安裝使用 babel-plugin-transform-runtime,來實現。
Polyfill是抹平新老瀏覽器 標準原生API 之間的差距的一種封裝。
Last updated