mobx方法注释和babelrc插件顺序

时间:2018-06-03 19:20:33

标签: javascript webpack babel create-react-app mobx

尝试在JS中使用带有Mobx的装饰器,并且一旦尝试使用方法级装饰器,我就会:

“语法错误:方法有装饰器,将装饰器插件放在第一类之前。”

示例代码:

os.Chdir

错误本身在网络上有很好的记录,但问题是,我有正确的配置....请参阅我的.babelrc

class TestStore {
    constructor(rootStore) {
        // we inject the rootStore to get other child stores if needed
        this.rootStore = rootStore
    }

    @observable fileList = [];
    @observable processedFile = null;

    @action doSomething() {
        console.log("work work");
    }
}

我尝试删除“env”预设原因我认为其他人正在进行类转换,但这并没有改变任何内容。

为了使用(最新的)create-react-app,我在webpack.config.dev中设置babelrc:true只是为了测试。不要弹出。要澄清:装饰变压器肯定是拾起来的。否则你会得到一个不同的错误。

我现在还无能为力。

1 个答案:

答案 0 :(得分:0)

重复的链接是正确的。你只是不能轻易地将装饰器添加到create-react-app。如果您修补了webpack.config.dev.js并设置了 babelrc:true ,您可以将自己的.babelrc放在项目根目录中并获取它,但仍然存在插件排序问题,因为不知何故,定义的插件加载“太晚了”。其他一些插件已经加载,干扰了装饰器插件。

有一个hacky答案。你可以把插件:[“transform-decorators-legacy”] 放在webpack.config.dev.js里面。订购方式还可以。但它不是一个好的解决方案,因为在npm_modules中覆盖的库是总是不好的。

从长远来看,我会弹出或使用重新布线。