#node.js #reactjs #babeljs
#node.js #reactjs #babeljs
Вопрос:
У меня есть веб-приложение Node JS, к которому я недавно решил добавить ReactJS. Я могу использовать обычный React, но использование JSX выдает unexpected token <
ошибку, поскольку Babel, похоже, не передает ее.
У меня установлен Babel 7, и я уже некоторое время использую его в этом проекте.
Я добавил @babel/plugin-transform-react-jsx"
и "@babel/plugin-syntax-jsx"
в свой package.json
и перечислил их в своем файле .babelrc.
Я попытался добавить type='text/babel'
ссылку на скрипт, но файл тогда даже не запускался.
Я знаю, что код React действителен, поскольку это просто фиктивный код, который я извлек прямо с веб-сайта React, чтобы проверить, работает ли он.
Я не уверен, что еще мне нужно сделать, чтобы заставить Babel перенести JSX.
Комментарии:
1. Добавление
type="text/babel"
к тегу script действительно является тупиковым, если вы не запускаете Babel в браузере. Итак, как вы запускаете Babel в первую очередь?2. @AKX да, я не думал, что это правильный путь, но я решил попробовать это на всякий случай. Babel запущен на сервере
3. Конечно, но как вы запускаете babel? Что в этом теге script и т.д.? Не похоже, что вы используете пакетировщик?
4. О, я вижу, скрипт
babel-node src/index.js
(я не использую budler). Как я уже сказал, у меня пока не было проблем с babel, и я использую его уже некоторое время.5. Верно, так что это всего лишь запуск вашего серверного кода через Babel. Вам также нужно транспилировать клиентский код React с помощью чего-нибудь, возможно, см. parceljs.org 🙂