我正在使用我自己构建的webpack配置的Mobx(新手)。编译时我得到了
Module build failed: SyntaxError: Unexpected token (405:0)
在那一行有
> 405 | @inject('buttonStore')
因此,不支持装饰器。我该如何启用它们?我正在使用巴贝尔。
答案 0 :(得分:1)
好的,我找到了问题的解决方案here:
npm install babel-plugin-transform-decorators-legacy --save-dev
npm install babel-preset-stage-0 --save-dev
并放入package.json
"babel": {
"presets": [
"react", "es2015"
],
"plugins": ["transform-decorators-legacy", "transform-class-properties"]
}
答案 1 :(得分:1)
npm install --save-dev babel-preset-mobx
.babelrc:
{
"presets": ["mobx"]
}
另外,请记住装饰器实际上只是不需要任何转换的函数。
@observer
class ObservedComponent{}
......相当于:
const ObservedComponent = observer(class ObservedComponent {})