2016-10-24 4 views
0

Ich brauche die Route meiner Seite mysite/practice-mysite/practice/newRouting funktioniert nicht in Laravel + Reagieren

ich ein Projekt in Laravel mit Lumen einrichten reagieren müssen sich ändern.

routes.php:

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

PetsController.php

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

praxis profile.blade.php

@extends('layouts.master') 


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

@endsection 

Meine JSX-Datei

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')); 
} 

In diesem Setup funktioniert alles einwandfrei. Wenn ich zu mysite/practice gehen Seite lädt gut.

Aber wenn ich die Strecke zu

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

und gehen ändern mysite/practice/new funktioniert es nicht mehr. Das Layout wird aus der Blade-Datei geladen, aber nicht mehr in die JSX-Datei. Warum das?

in der Konsole bekomme ich diesen Fehler:

Uncaught SyntaxError: Unexpected token : 

ich zu diesem Projekt recht neu bin so ist es wahrscheinlich etwas Fundamentales ist, dass ich hier fehlt.

+0

Die Konsole sollte Ihnen genau zeigen, wo sich dieses Token in Ihrem Code befindet, damit Sie das Problem beheben können. –

+0

Leider ist die Konsole nicht hilfreich. Es gibt keinen Syntaxfehler in der Datei, da es dann auch nicht mit 'mysite/practice' funktionieren sollte. Ich bekomme eine "Nachricht": "Ausnahme" Symfony \\ Komponente \\ HttpKernel \\ Ausnahme \\ NotFoundHttpException "aber das bedeutet nur, dass die Route nicht richtig gefunden wird? Was für mich keinen Sinn ergibt. – fractal5

Antwort

0

Es ist schwer ohne mehr Informationen zu sagen. Aber möglicherweise tritt das Problem auf, weil Sie eine Verzeichnisebene nach oben verschieben, stellen Sie sicher, dass Ihre JS-Datei von der richtigen Stelle geladen wird. Wenn Sie einen relativen Pfad wie <script src="app.js"></script> verwenden, wird eine höhere Stufe versucht, yoursite/practice/app.js anstelle von yoursite/app.js anzufordern.