Как использовать декораторы в приложении на стороне сервера?
У меня работает приложение (с SSR). Недавно я попытался добавить decorator
служба поддержки. Я выполнил настройку, и приложение прекрасно работает, когда оно запускается в браузере (потому что код, выполняемый в браузере, передается в виде бабел).
Однако код (Компонент, содержащий декоратор) прерывается, когда он отображается на стороне сервера - Может быть потому, что выполняемый код не передается и узел не может понять @
условное обозначение.
Это он бросил ниже ошибки
(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 ответ
Похоже, вы не настроили поддержку декораторов. Это означает, что ваш код не преобразован, и node
(который запускает ваш серверный скрипт) не знаю, как обрабатывать @foo
вид кода. Декораторы на 2-м этапе (см. https://tc39.github.io/proposal-decorators/) и не являются частью языка. Если вы используете babel для преобразования своего кода, добавьте соответствующий плагин (@babel/plugin-proposal-decorators
).