Fra*_*ain 6 babeljs babel-polyfill
我在Babel选项/配置中有点迷失.我想使用最近的js功能并编译(使用webpack)浏览器代码.
babel-polyfill和babel插件有babel-preset-env什么区别?
他们打算一起工作吗?
Fra*_*ain 23
本文回答:
之间的区别
babel transform plugin与babel-polyfill / babel-runtime是你是否能重新实现的功能在今天,在ES5.例如,Array.from可以在ES5中重写,但我无法在ES5中编写任何内容来向JavaScript添加箭头函数语法.因此,箭头函数有一个转换,但没有Array.from.它必须由一个单独的polyfill提供,如babel-polyfill,或babel-runtime.
作为旁注,这是我目前对巴贝尔生态系统的理解.
Babel是一个javascript编译器:它解析,转换和输出转换后的代码.
babel-polyfill和之间的区别babel-runtime:前者定义全局方法(并污染全局范围),而后者转换代码以使相同的功能可用,如本答案中所述.babel syntax / transform plugins:解析并转换es2015 +语法(如箭头函数)将其转换为es5.babel-plugins-stage-x(从第0阶段到第4阶段):转换未来JS规范中的未来javascript语法,从阶段0开始(只是一个想法)直到阶段4(将babel-plugins很快登陆).babel-preset-env 确定特定环境所需的Babel插件和polyfill.target选项,它仅加载在特定目标上运行所需的插件.builtIn选项,它仅使用babel-polyfill未内置于目标中的选项.babel-transform-runtime,但(截至2017年与nov.).(见本期)| 归档时间: |
|
| 查看次数: |
4769 次 |
| 最近记录: |