Реакция-Ларавелин Неожиданный токен
Я пытаюсь заставить работать реактивный удар. Я установил все правильно (v8js и т. Д.), Но я продолжаю получать:
V8Js::executeString():18903: SyntaxError: Unexpected token <
Кажется, проблема в моем файле component.js:
var Application = React.createClass({
render: function() {
return (
<div className="Networks">
<ul>
<li>Test</li>
</ul>
</div>
);
}
});
Как я могу это исправить?
Кроме того, возможно ли использовать ES6?
Мой взгляд:
<html>
<head>
<title>JSPM Experiment</title>
<script src="{{ asset('vendor/react-laravel/react.js') }}"></script>
<script src="{{ asset('js/components.js') }}"></script>
<script src="{{ asset('vendor/react-laravel/react_ujs.js') }}"></script>
</head>
<body>
<div id='react-root'>
</div>
@react_component('Application',[ 'title' => 'Hello, World' ], [ 'prerender' => true ])
</body>
</html>
1 ответ
Это "component.js" или "components.js"? Вы, вероятно, опечатка.
Обычно вы получаете SyntaxError: Unexpected token <
при попытке загрузить файл JavaScript, который не существует. Laravel отображает HTML-страницу 404 и первый <
отключает ваш тег сценария.
Если у кого-то все еще есть эта ошибка, я установил Laravel 6 и настроил React:
php artisan preset react
npm install
А потом я получил аналогичную ошибку "Синтаксическая ошибка: неожиданный токен", поскольку синтаксис React JSX, похоже, не был понят. Это было исправлено изменением конфигурации babel вwebpack.mix.js
:
mix.babelConfig({
"presets": [
"@babel/preset-react",
],
});
Если у вас проблемы с Laravel 6. Пожалуйста, проверьте свой файл webpack.mix.js, он должен бытьmix.react()
вместо того mix.js()