Я только начинаю с Reactjs, писал простой компонент для отображения
li
тега и наткнулся на эту ошибку:
Неожиданный токен '<'
Я поместил пример в jsbin ниже http://jsbin.com/UWOquRA/1/edit?html,js,console,output
Пожалуйста, дайте мне знать, что я делаю не так.
ОБНОВИТЬ: в React 0.12+ прагма JSX больше не нужна.
Убедитесь, что прагма JSX находится в верхней части ваших файлов:
Без этой строки
jsx
двоичный преобразователь и преобразователь в браузере оставят ваши файлы без изменений.источник
type="text/babel"
. О дивный новый мир javascriptПроблема Неожиданный токен '<' связана с отсутствием предустановки babel.
Решение: вам необходимо настроить конфигурацию вашего веб-пакета следующим образом
здесь .jsx проверяет форматы .js и .jsx.
вы можете просто установить зависимость babel с помощью узла следующим образом
Спасибо
источник
npm install babel-preset-react
решил мою проблему..babelrc
в проекте есть файл только"presets": ["env", "react", "es2015"]
и все !!в моем случае мне не удалось включить атрибут type в свой тег скрипта.
источник
Вам нужно либо преобразовать / скомпилировать этот код JSX в javascript, либо использовать преобразователь в браузере.
Посмотрите на http://facebook.github.io/react/docs/getting-started.html и обратите внимание на
<script>
теги, вам нужны те, которые включены для JSX, чтобы работать в браузере.источник
<script type="text/jsx">
теге, если хотите, вставьте весь свой код в вставкуУ меня есть эта ошибка, и я не мог ее решить в течение двух дней, поэтому исправить ошибку очень просто. В теле, куда вы подключаете свой
script
, добавьтеtype="text/jsx"
и это решит проблему.источник
Вот рабочий пример из вашего jsbin:
HTML:
jsx:
Запустите этот код из одного файла, и он должен работать.
источник
Если вы похожи на меня и склонны к глупым ошибкам, также проверьте свой package.json, если он содержит ваш пресет babel:
источник
Для правильного разбора тегов вам необходимо использовать эту версию babel: https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js и атрибут "type = 'text / babel'" в сценарии. Кроме того, ваш собственный сценарий должен быть в пределах тегов body.
источник
если рассматривать вашу реальную конфигурацию сайта, то вам нужно запустить ReactJS в голове
и добавьте атрибут в свой js файл - type = "text / babel" как
то будет работать приведенный ниже пример кода:
источник
Используйте следующий код. Я добавил ссылку на React и React DOM. Используйте ES6 / Babel, чтобы превратить ваш JS-код в обычный JavaScript. Обратите внимание, что метод Render исходит из ReactDOM, и убедитесь, что у этого метода есть цель, указанная в DOM. Иногда вы можете столкнуться с проблемой, что метод render () не может найти целевой элемент. Это происходит потому, что код реакции выполняется до рендеринга DOM. Чтобы противостоять этому, используйте jQuery ready () для вызова метода render () React. Таким образом, вы будете уверены, что сначала отрисовывается DOM. Вы также можете использовать атрибут defer в скрипте приложения.
HTML код:
Код JS:
Надеюсь, это решит вашу проблему. :-)
источник
Убедитесь, что .babelrc находится внутри корневой папки вашего приложения, а не внутри подпапки. в этом случае переместите файл в корневой каталог.
источник
Вы можете использовать такой код:
И не забудьте надстройку
<div id='main-content'></div>
вbody
в вашемhtml
Но в вашем файле package.json вы должны использовать следующие зависимости:
Это работает для меня, но я также использовал веб-пакет с этими параметрами (в webpack.config.js):
источник
В моем случае, помимо
babel
пресетов, мне также пришлось добавить это в свой.eslintrc
:источник
Я только начал учиться
React
сегодня и столкнулся с той же проблемой. Ниже приведен код, который я написал.И, как вы можете видеть, я пропустил запятую (,) после того, как использовал
<Hello/>
. А сама ошибка говорит, на какую строчку нужно смотреть.Итак, как только я добавлю запятую перед вторым параметром
ReactDOM.render()
функции, все заработало нормально.источник
Вот еще один способ сделать это html
index.js файл с путем src / index.js
используйте этот пакет. json поможет вам быстро начать работу
источник
Хотя в моем конфигурационном файле .babelrc были все подходящие загрузчики babel. Этот сценарий сборки с parcel-bundler вызывал неожиданную ошибку токена <и ошибки типа mime в консоли браузера при обновлении страницы вручную.
Обновление скрипта сборки устранило проблемы для меня.
источник