Как использовать декораторы в приложении на стороне сервера? - PullRequest
0 голосов
/ 05 декабря 2018

У меня запущено приложение (с SSR).Недавно я попытался добавить поддержку decorator.Я выполнил настройку, и приложение прекрасно работает, когда оно запускается в браузере (поскольку код, выполняемый в браузере, переносится с помощью babel).

Однако код (Компонент, содержащий декоратор) прерывается, когда он отображается на стороне сервера.- Может быть потому, что исполняемый код не передается, и узел не может понять @ символ.

Если он выдает ошибку ниже

   (node:1932) UnhandledPromiseRejectionWarning: SyntaxError: 
src/components/common/InputBox/InputBox.js: Unexpected token (8:0)

        import './InputBox.scss';
           7 |
        >  8 | @autobind
             | ^
           9 | class InputBox extends Component {
          10 |     constructor(props) {
          11 |         super(props);

Как я могу исправитьэто?

Спасибо

1 Ответ

0 голосов
/ 06 декабря 2018

Похоже, вы не настроили поддержку декораторов.Это означает, что ваш код не преобразован, и node (который запускает серверный скрипт) не знает, как обрабатывать код типа @foo.Декораторы на 2 этапе (см. https://tc39.github.io/proposal-decorators/) и не являются частью языка.Если вы используете babel для преобразования своего кода, добавьте соответствующий плагин (@babel/plugin-proposal-decorators).

...