0

我正在尝试让 react-laravel 工作。我已经正确安装了所有东西(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>
4

3 回答 3

0

如果有人仍然有这个错误,我安装了 Laravel 6 并设置了 React:

php artisan preset react
npm install

然后我收到了一个类似的错误“语法错误:意外的令牌”,因为 React JSX 语法似乎没有被理解。它通过更改 babel 配置得到修复webpack.mix.js

mix.babelConfig({
  "presets": [
    "@babel/preset-react",
  ],
});
于 2019-12-30T09:48:05.173 回答
0

如果您对 Laravel 6 有疑问。请检查您的webpack.mix.js文件,它应该mix.react()mix.js()

https://laravel.com/docs/6.x/mix#react

于 2020-01-09T13:29:32.217 回答
0

是“component.js”还是“components.js”?你可能有一个错字。

通常,您SyntaxError: Unexpected token <在尝试加载不存在的 javascript 文件时会遇到这种情况。Laravel 渲染一个 404 HTML 页面,第一个页面会触发<你的 script 标签。

于 2018-01-24T17:27:08.930 回答