Декораторы не работают со сценариями custom-react-scripts

Я прочитал эту статью: https://medium.com/@kitze/configure-create-react-app-without-ejecting-d8450e96196a

Я выполнил его инструкции и вот мой код: https://github.com/franva/custom-react-scripts

Я хочу использовать функцию декораторов для интеграции mobx без извлечения, но она просто не работает, даже REACT_APP_DECORATORS = true;

Вот сообщение об ошибке:

./src/components/ChatRoom.jsx Синтаксическая ошибка: F: /temp/Playground/my-app/src/components/ChatRoom.jsx: Неожиданный токен (5: 0)

3 | импортировать {наблюдателя} из 'mobx-react';

4 |

5 | @observer | ^
6 | класс ChatRoom расширяет компонент {7 | 8 | @observable


person Franva    schedule 19.02.2018    source источник
comment
После извлечения приложения всегда проще настроить среду. Попробуйте запустить yarn eject перед добавлением babel-plugin-transform-decorators-legacy пакета   -  person FisNaN    schedule 20.02.2018


Ответы (2)


@decorator - это синтаксис ES7, вам понадобится плагин transform-decorators, чтобы преобразовать его с помощью babel:

https://babeljs.io/docs/plugins/transform-decorators/

Изменить: я только что увидел, что вы хотите использовать его без извлечения, возможно, вам тоже нужно повернуть REACT_APP_BABEL_STAGE_0=true.

person Dyo    schedule 19.02.2018
comment
Я включил REACT_APP_BABEL_STAGE_0 = true. Вы можете увидеть исходный код в моем гитхабе. А пока попробую использовать трансформ-декораторы, нужно ли извлекать проект? Я не намерен отказываться от проекта. - person Franva; 19.02.2018
comment
привет, я попробовал плагин transform-decorators, но все та же ошибка. - person Franva; 19.02.2018
comment
Ваш код компилируется для меня, я думаю, вам просто нужно перестроить свои зависимости и, возможно, обновить версию вашего узла. - person Dyo; 19.02.2018
comment
Подскажите, пожалуйста, ur node, версию npm? - person Franva; 19.02.2018
comment
Привет, я снова попробовал свой код на другом компьютере, он работает. Спасибо друг - person Franva; 20.02.2018

Проблема в моей локальной компьютерной среде.

Я попробовал свой код на другом компьютере, и он работает.

person Franva    schedule 20.02.2018