Задать вопрос
Machez
@Machez
Бу!

Как правильно подключить React к сайту?

Имеется HTML:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

	<script src="https://unpkg.com/react@15/dist/react.js"></script>
	<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>

	<script src="https://unpkg.com/babel-standalone@6/babel.js"></script>

        <script src="/r/b2b-spa/js/main.js"></script>

	<title>Тайтл</title>
</head>
<body>

<div id="root"></div>

</body>
</html>


Код внутри /r/b2b-spa/js/main.js:
import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(
<h1>Hello, world!</h1>, document.getElementById('root')
);


В первой же строке main.js происходит ошибка:
Uncaught SyntaxError: Unexpected token import


Подскажите новичку, как правильно подключить к странице React JS.
  • Вопрос задан
  • 2206 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
В документации, один из пунктов, что нужно: A compiler such as Babel. It lets you write modern JavaScript code that still works in older browsers.

Браузер "не умеет import", так сказать. Вам нужно прогонять ваши скрипты, написанные в ES2015 через инструменты, типа babel.
Ответ написан
Комментировать
Правильно было бы установить node, npm, webpack и сделать сборку проекта в один файл: она содержала бы этап трансляции "нового" js в старый.

Если вы хотите на лету обрабатывать код, то вам нужно подключить babel-standalone (вы это уже сделали). Но упустили один момент из документации:

<script type="text/babel" src="foo.js"></script>

Для скриптов, которые вы хотите автоматически компилить babel'ом надо указывать атрибут type = text/babel.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы