Я использовал CRA 2.0 и хотел извлечь, чтобы я мог управлять конфигурациями.После извлечения, я застрял с проблемой, когда я получаю ошибку компиляции:
./src/web-app-commons/HOC/OverlayWrapper.jsx
SyntaxError: /Users/prabhjotrai/temp/client-web/src/web-app-commons/HOC/OverlayWrapper.jsx: Support for the experimental syntax 'classProperties' isn't currently enabled (33:22):
31 | export default WrappedComponent => {
32 | return class extends Component {
> 33 | static propTypes = {
| ^
34 | overlayProps: PropTypes.shape({
35 | open: PropTypes.bool
36 | })
Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the 'plugins' section of your Babel config to enable transformation.
Я перепробовал все, что связано с добавлением этого плагина (включая добавление @babel/plugin-proposal-class-properties
в качестве зависимости dev и ссылки на него в конфигурации babel)и я предполагаю, что это связано с https://github.com/babel/babel/issues/8648. Но когда я удаляю этот конкретный файл, я получаю следующую ошибку:
./src/web-app-commons/HOC/Preview.jsx
SyntaxError: /Users/prabhjotrai/temp/client-web/src/web-app-commons/HOC/Preview.jsx: Support for the experimental syntax 'objectRestSpread' isn't currently enabled (60:3):
58 | persistent = true,
59 | overflowX = 'inherit',
> 60 | ...props
| ^
61 | } = {}) => WrappedComponent => {
62 | return class extends Component {
63 | displayName = `${WrappedComponent.displayName ||
Add @babel/plugin-proposal-object-rest-spread (https://git.io/vb4Ss) to the 'plugins' section of your Babel config to enable transformation.
Мне кажется, что это что-то, связанное с компонентами высокого порядка, так как я не получаю эту "распространенную" ошибку или ошибку объявления свойств класса где-либо еще в коде.Любая идея, что может пойти не так?
Вот мои зависимости от babel:
~/temp/client-web master ● cat package.json | grep babel
"@babel/core": "7.1.0",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "9.0.0",
"babel-jest": "23.6.0",
"babel-loader": "8.0.4",
"babel-plugin-emotion": "^9.2.5",
"babel-plugin-named-asset-import": "^0.2.2",
"babel-preset-react-app": "^5.0.4",
"@babel/plugin-proposal-class-properties": "^7.1.0",
"babel-plugin-glamorous-to-emotion": "^1.0.1",
"^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest",
"babel": {
"plugins": ["@babel/plugin-proposal-class-properties"]
Любая помощь будет очень признательна.
РЕДАКТИРОВАТЬ
Я добавил файл babelrc (удаляя конфигурацию из package.json) со следующими подробностями, но безуспешно:
{
"presets": [
"@babel/preset-env",
"@babel/preset-react",
"react-app"
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread"
]
}