如何在项目中引用修饰器装饰器(Decorator)

134 阅读1分钟

react项目中添加bebel

在不eject的情况下,网友给出了一个修改node_modules的解决方案:

找到node_modules/babel-preset-react-app/index.js,然后加入装饰器支持;接着在对应的package.json下边加入babel-plugin-transform-decorators-legacy。

总结:node_modules/babel-preset-react-app/index.js还有对应的package.json 加上decorators插件,然后运行就可以了。

在eject的情况下:

  1. npm install --save-dev babel-plugin-transform-decorators-legacy
  2. package.json修改:
"babel": {
  "plugins": [
    "transform-decorators-legacy"
  ],
  "presets": [
    "react-app"
  ]
},

另一种方案在creat-react-app中添加

create-react-app ExampleApp
npm run eject

//非react
npm install --save-dev babel-plugin-transform-decorators-legacy

//针对react
npm install babel-preset-stage-2 --save-dev
npm install babel-preset-react-native-stage-0 --save-dev
npm install --save mobx mobx-react

.babelrc

// react
{
  "presets": ["react-native-stage-0/decorator-support"]
}

// 非react
{
  "presets": [
    "es2015",
    "stage-1"
  ],
  "plugins": ["transform-decorators-legacy"]