重新开发
面向IE6+浏览器的使用AMD模块的Babel6预设。
AMD
$ npm install --save-dev babel-preset-browser
通过.babelrc(推荐)
.babelrc
{ "presets": ["browser"] }
通过命令行
$ babel script.js --presets browser
这一部分主要介绍本预设使用的ES特性和相关插件配置。
以下两个插件用于解决ES3浏览器不支持使用关键字(如:default)作为属性名的问题。
default
翻译思路是将ES5代码翻译为ES3支持的代码。
本预设从ES2015预设中选择了以下几个插件:
loose
eval
spec
new/call/apply
let/const
transform-class-properties
Getter/Setter
const
tdz
以下插件或者功能没有被选择:
Object.getPrototypeOf
for-of-array
Symbol
Generator
以下第三方插件用于补足功能:
for-of
以下未定稿但比较稳定的插件并加入到预设中:
transform-modules-amd
这三个插件主要是对ES2015缺失的功能进行一些补充,以保证特征的完整性。
以下插件没有补添加但是推荐单独引入:
**
::
do
这四个插件属于ES7提供的新语法糖
以下插件因浏览器原因不应当被引入:
以下插件已经被babel废弃,或者有没完整的实现,尽量避免使用:
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
babel-preset-browser
面向IE6+浏览器的使用
AMD模块的Babel6预设。安装
使用方式
通过
.babelrc(推荐)通过命令行
插件选择和配置
这一部分主要介绍本预设使用的ES特性和相关插件配置。
ES3
以下两个插件用于解决ES3浏览器不支持使用关键字(如:
default)作为属性名的问题。翻译思路是将ES5代码翻译为ES3支持的代码。
ES2015
本预设从ES2015预设中选择了以下几个插件:
loose模式。eval中的常量。spec模式以简化转换后的代码,因此要避免对使用箭头函数使用new/call/apply,以免发生错误。let/const声明块级函数。transform-class-properties一共使用,以实现完整的类定义模型。在旧浏览器中不支持Getter/Setter机制,因此使用loose模式。Getter/Setter机制,因此请不要使用Getter/Setter以免出现运行时错误。const变量有没有被赋值。tdz属性,变量的作用域为当前块。以下插件或者功能没有被选择:
Object.getPrototypeOf,所以不支持。for-of-array功能。Symbol。AMD模块。Generator。以下第三方插件用于补足功能:
AMD模型,与标准版的区别是通过缩减ES6代码的功能,以满足AMD规范。for-of循环,不考虑任何迭代器,将所有对象当作数组或者类数据处理。ESNEXT
以下未定稿但比较稳定的插件并加入到预设中:
transform-modules-amd中引入,无需重复。这三个插件主要是对ES2015缺失的功能进行一些补充,以保证特征的完整性。
以下插件没有补添加但是推荐单独引入:
**符号。::运算符,需要可以加入。do运算符号,可以在表达式中添加代码块,不是很符合JS的思路,没有直接加入。这四个插件属于ES7提供的新语法糖
以下插件因浏览器原因不应当被引入:
Generator。以下插件已经被babel废弃,或者有没完整的实现,尽量避免使用: