为了设置webpack + babel + react,我被告知需要在.babelrc中包含以下内容:
我想了解:为什么我要使用babel预设,除了babel本身,它们允许我做什么?这是一个问题。据我所读,在文档,
最后,插件和预设有什么区别?
"presets": ["latest", "stage-0", "react"]
我想了解:为什么我要使用babel预设,除了babel本身,它们允许我做什么?这是一个问题。据我所读,在文档,
preset-latest
中,preset-es2015
+ preset-es2016
+ preset-es2017
被组合起来。据我理解,这些是即将推出的ES版本的官方特性,而latest是选择不仅ES2015,而且所有未来版本的速记。规范不会改变,因此在生产中使用是足够稳定的。但是,stage-0
,stage-1
,stage-2
,stage-3
怎么样-它们代表的是即将推出的ECMAScript版本的非官方提案,还是代表其他什么?Babel文档没有明确说明。这是第二个问题。最后,插件和预设有什么区别?
const babel = code => code;
一样解析代码,然后再生成相同的代码。您需要添加一些插件才能让Babel执行任何操作(它们影响第二阶段,即转换)。预设不想组装自己的插件集?没问题!预设是可共享的.babelrc
配置或仅仅是一个Babel插件数组。每个年度预设只编译当年批准的内容。使用preset-latest
来转换所有年度预设。” - Felix Kling