Ручная транспиляция React JSX с помощью Babel-cli

Как я могу скомпилировать файл .jsx с помощью команды npx babel-cli [inpfile].jsx --out-file [outfile].js --plugin=@[someplugin]. Я пробовал --plugin=@plugin-transform-react-jsx, но выдает ошибку в самом первом выражении JSX.

У меня установлены пакеты babel-cli, babel-core и т. д.

Я могу использовать create-react-app, и все работает нормально, но я хочу сделать это вручную, скомпилировав JSX.

Также, если преобразование ES6 в ES5 возможно с той же процедурой; пожалуйста, укажите это также.

Любая помощь будет оценена по достоинству.

Я считаю, что это должно быть просто babel, а не babel-clibabeljs.io/docs/en/babel-cli#compile-files

Jayce444 26.12.2020 09:37

@ Jayce444 Jayce444, если вы попытаетесь установить babel, npm сообщит вам, что он устарел, используйте babel-cli, потому что пакет был переименован. Если вы попытаетесь скомпилировать, выдаст ошибку, что вы ошибочно набрали babel, используйте babel-cli. Я провел полное исследование со своей стороны, прежде чем спрашивать о SO. Кстати, спасибо за потраченное время.

abdullahQureshee 26.12.2020 09:42

Можете ли вы поделиться своим package.json? Мне нужно увидеть все ваши версии Babel (включая пресеты/плагины)

tmhao2005 26.12.2020 16:21

@ tmhao2005 У меня нет файла пакета. Я мало что знаю об этом. Я использовал create-react-app.

abdullahQureshee 26.12.2020 17:07

Ах я вижу. Но вы должны установить приложения Babel локально в своем проекте. Попробуйте установить их и повторите попытку.

tmhao2005 26.12.2020 17:11

Вы знаете, какие из них должны быть установлены? Если бы не вы, я бы предложил помощь

tmhao2005 26.12.2020 17:30

@tmhao2005 да! Конечно, я здесь ищу помощи. Я пытался установить babel-cli, babel-core и preset-react. но preset-react говорит, что ядро ​​Babel не установлено, но оно установлено. Вы можете начать объяснять с нуля.

abdullahQureshee 26.12.2020 17:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
7
798
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы бы просто установили последние пакеты babel (похоже, вы пытались установить старые). Вот несколько шагов:

  • Установите необходимые пакеты:
npm i -D @babel/core @babel/cli @babel/preset-env @babel/preset-react
  • Запустите тестовый файл jsx:
npx babel path/to/yourFile.jsx --presets=@babel/preset-env,@babel/preset-react

Это очень полезно, спасибо. Обратите внимание, что если OP хочет только транспилировать JSX, @babe/present-env кажется ненужным.

Garret Wilson 20.03.2023 16:16

Другие вопросы по теме