2019-01-05 babel 介绍

http://webpack.wuhaolin.cn/3%E5%AE%9E%E6%88%98/3-1%E4%BD%BF%E7%94%A8ES6%E8%AF%AD%E8%A8%80.html   

1:es6、es7、es2015、。。。

现阶段标准委员会决定每年6月份发布一次版本,而这个版本已当前的年份命名。

es2015就是es6.在2015年6月份发布

es2016就是es7 在2016年6月份发布 


2:Babel-presets

Babel-presets是babel规范的一个总结,比如es2015、es2016、es2017等。开发中我们经常用env,因为env根据你支持的环境自动决定适合你的 Babel 插件的 Babel preset,我理解就是根据当前环境自动选择es2015、es2016、es2017中的某一个。

babel-preset-stage 0-3表示规范组正式发布几个阶段的所有的presets。推荐2

-----------------------注意-------------------

2019-6-6更新: babel升级到7以后,会移除 babel-preset-stage,如果需要使用,需要自己配置




3:babel-polyfill与babel-runtime的选择

Babel-presets只负责转换语法,而最新的api、函数是不支持转换的。上面这两个就是用来解决这个问题的

babel-polyfill:这个会将新的api直接添加到全局对象上,会造成全局对象的污染

推荐以下

babel-runtime:这个是需要使用的地方使用import引进去,不过可以使用babel-plugin-transform-runtime这个插件,配置一下省去手动import的痛苦。而且,还做了公共方法抽离,不会重复引用。减少代码量。babel-plugin-transform-runtime 和 babel-runtime需要配套使用

4:webpack中使用

Webpack 接入 Babel 必须依赖的模块 npm i -D babel-core babel-loader

根据你的需求选择不同的 Plugins 或 Presets  npm i -D babel-preset-env


总结:babel7以前转换es6语法需要以下:

babel-preset-env

babel-preset-stage-2

babel-plugin-transform-runtime

babel-runtime

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容