问题描述:
由于create-react-app目前还没有添加装饰器,直接用的话会报错,但项目中不得不使用装饰器,比如引入MobX。
解决方法:
我们可以根据奥卡姆剃刀原理以及鸵鸟算法 => 不使用装饰器
@observer class A {}
//等价于
const A = observer(class A {});
@action function f () {
}
// 等价于
const f = action(function f() {
});
@observable const data = 1;
//等价于
const data = observable(1);
因此
@decorator something
something = decorator(something);
JavaScript的装饰器和python几乎一毛一样,所以不用装饰器也是一样的,只是写起来没那么方便。
言归正传,进入正题,如果想在create-react-app里使用装饰器的话,只需要修改create-react-app的webpack配置就可以了,而且并不复杂,具体操作如下:
在使用create-react-app创建的项目中运行下面的命令,把使用create-react-app创建出来的项目配置信息弄出来
yarn run eject
然后可以打开config 下的 webpa