babel / polyfill

Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在老版本的浏览器执行。

Babel 的配置文件是.babelrc,存放在项目的根目录下。

下面的命令在项目目录中,安装 Babel。

$ npm install --save-dev @babel/core

Babel 也可以用于浏览器环境,使用@babel/standalone模块提供的浏览器版本,将其插入网页。

<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">
// Your ES6 code
</script>

注意,网页实时将 ES6 代码转为 ES5,对性能会有影响。生产环境需要加载已经转码完成的脚本。

Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比如IteratorGeneratorSetMapProxyReflectSymbolPromise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。但可透過安裝使用 babel-plugin-transform-runtime,來實現。

Polyfill是抹平新老瀏覽器 標準原生API 之間的差距的一種封裝。

Last updated