Почему Babel не переносит мой React JSX?

#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 🙂