Лерна реагирует на обычную библиотеку Ошибка поддержки экспериментального синтаксиса classProperties в настоящее время не включена - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь создать lerna monorepo с некоторыми create-react-app приложениями и общей библиотекой.

Я следую сценарию из по этой ссылке

Все идет хорошо, я могу получить доступ к созданному общему объекту monorepo, но все застряло, когда я пытаюсь использовать babel,

Мой общий компонент использует propTypes, и я получаю следующую ошибку:

Failed to compile.

../webcommon/src/components/app/App/App.js
SyntaxError: /Volumes/DADOS/dev/workspace/dev/packages/webcommon/src/components/app/App/App.js: Support for the experimental syntax 'classProperties' isn't currently enabled (39:19):

  37 |
  38 | class App extends Component {
> 39 |  static propTypes = {
     |                   ^
  40 |      router: PropTypes.object.isRequired,
  41 |      module: PropTypes.string.isRequired,
  42 |      menuConfig: PropTypes.object

Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the 'plugins' section of your Babel config to enable transformation.

Я попытался сделать то, что требуется, поэтому у меня есть следующий package.jsonмоя библиотека webcommon:

{
  "name": "@monorepo/webcommon",
  "version": "0.0.0",
  "keywords": [],
  "main": "lib/webcommon.js",
  "directories": {
    "lib": "lib",
    "test": "__tests__"
  },
  "files": [
    "lib"
  ],
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "test": "echo \"Error: run tests from root\" && exit 1"
  },
  "dependencies": {
    "@babel/plugin-proposal-class-properties": "^7.5.5",
    "@babel/preset-env": "^7.6.2",
    "@babel/preset-react": "^7.0.0"
  },
  "babel": {
    "presets": [
      "@babel/preset-env",
      "@babel/preset-react"
    ],
    "plugins": [
      [
        "@babel/plugin-proposal-class-properties"
      ]
    ]
  }
}

По-прежнему возникает та же ошибка.Мой основной проект (который называет общий компонент) package.json:

{
  "name": "admin",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@monorepo/webcommon": "^0.0.0",
    "react": "^16.10.0",
    "react-dom": "^16.10.0",
    "react-scripts": "3.1.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Как решить данную проблему и использовать propTypes в общем компоненте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...