路由不适用于Laravel + React

时间:2016-10-24 15:59:48

标签: laravel reactjs url-routing

我需要将页面路线从mysite/practice更改为mysite/practice/new

我在一个带有流明的laravel中设置了一个React项目。

routes.php文件:

$app->get('/practice', ['as' => 'pet_practices', 'middleware' => 'check_vet_roles', 'uses' => 'PetsController@practice']);

PetsController.php

public function practice(Request $request)
    {
        $variables =$this->getUserInfo($request);
        return view('practice-profile') ->with('variables', $variables);
    }

实践profile.blade.php

@extends('layouts.master')


@section('content')
<div id="practice-profile"></div>

@endsection

我的JSX文件

var React = require('react');
var ReactDOM = require('react-dom');
var PageCollectionComponent  = require('./PageCollectionComponent');

if (document.getElementById('practice-profile')) {
    ReactDOM.render(<PageCollectionComponent  />,document.getElementById('practice-profile'));
}

此设置中的一切正常。当我转到mysite/practice页面加载时很好。

但如果我改变路线

$app->get('/practice/new', ['as' => 'pet_practices', 'middleware' => 'check_vet_roles', 'uses' => 'PetsController@practice']);

然后转到mysite/practice/new它再也无法工作了。布局从刀片文件加载,但它不再进入JSX文件。那是为什么?

在控制台中,我收到此错误:

Uncaught SyntaxError: Unexpected token :

我对这个项目很新,所以它可能是我在这里缺少的基本内容。

1 个答案:

答案 0 :(得分:0)

没有更多信息就很难分辨。但是,可能会出现问题,因为您正在向上移动目录级别,请确保从正确的位置加载您的JS文件。如果您使用的是<script src="app.js"></script>之类的相对路径,那么更深层次会尝试请求yoursite/practice/app.js而不是yoursite/app.js