当我列出预设时,订单是否重要?
换句话说,以下.babelrc
文件是否等效?
.babelrc
#1
{
"presets": ["es2015", "stage-2", "react"]
}
.babelrc
#2
{
"presets": ["react", "stage-2", "es2015"]
}
答案 0 :(得分:40)
来自babeljs.io/docs/plugins:(截至2016年9月30日)
为插件中的每个访问者排序。这意味着如果两个转换都访问“Program”,则转换将以插件或预设顺序运行。
"plugins": [
"transform-decorators-legacy", // will run first
"transform-class-properties" // will run second
]
是的,这很令人困惑,请参阅babel/notes #2。
我认为(对于向后兼容性)的原因是大多数用户首先列出“es2015”和“0”秒。阶段0将在2015年之前运行。
"presets": [
"es2015", // will run third
"react", // will run second
"stage-2" // will run first
]