巴贝尔插件文档说:
巴贝尔.babelrc文档说:
特定于特定环境的选项被合并并覆盖非env特定选项。
文档并没有具体说明它们是如何合并的。
我正在使用样板React项目反应弹弓,我想利用类属性转换。该项目使用babel-preset-stage-1,其中包括babel-plugin-transform-class-properties。类属性转换应该允许我编写如下代码:
class Example extends Component {
static propTypes = {
...
}
}该项目的.babelrc是:
{
"presets": [
"react",
"stage-1"
],
"env": {
"development": {
"presets": [
"latest",
"react-hmre"
]
},
"production": {
"presets": [
["latest", {
"es2015": {
"modules": false
}
}]
],
"plugins": [
"transform-react-constant-elements",
"transform-react-remove-prop-types"
]
},
"test": {
"presets": [
"latest"
]
}
}
}但当我这么做的时候,我得到了:
Module build failed: SyntaxError: Missing class properties transform.
5 | class Example extends Component {
> 6 | static propTypes = {
| ^
7 | ...
8 | }
9 |类属性转换是存在的,但很明显,排序是不正常的。
通过手动将非env预置合并到env预置中,我让它在编译时没有任何错误,但是现在有很多重复:
{
"env": {
"development": {
"presets": [
"latest",
"react-hmre",
"stage-1",
"react"
]
},
"production": {
"presets": [
["latest", {
"es2015": {
"modules": false
}
}],
"stage-1",
"react"
],
"plugins": [
"transform-react-constant-elements",
"transform-react-remove-prop-types"
]
},
"test": {
"presets": [
"latest",
"stage-1",
"react"
]
}
}
}在使用env和non选项时,是否有指定插件顺序的方法?
发布于 2017-02-28 04:39:58
.babelrc env继承就像类一样,它不是很深的复制预置/插件。因此,这就是为什么babel生成预置&插件供开发人员在不同的ways.you中使用,可以结合预设/插件来共享something..babelrc env继承,如下所示:
Object.assign({presets:['es2015']},env.development);
//it not merge your presets,that I have tested.
// if your env.development have a presets:['es2017'] then use es2017 otherwise use es2015https://stackoverflow.com/questions/42499829
复制相似问题