2016-12-15 4 views
0

Ich versuche eine App mit Laravel 5.3 und AngularJS zu erstellen. Ich möchte die Routen und Vorlagen von Angular statt von Laravel verwenden. HierFehlverhalten auf Routen mit Laravel 5.3 und AngularJS 1.5

ist die web.php Datei von Laravel:

Route::get('/', function() { 
    return view('index'); 
}); 

Und hier ist ein Teil des ui-Router in AngularJS:

routeConfig.$inject = ['$stateProvider']; 
function routeConfig ($stateProvider) { 
    // Routes 
    $stateProvider 
    .state('home', { 
     url: '/', 
     templateUrl: 'app/views/home.html' 
    }) 
    .state('register', { 
     url: '/register?oauth_token&oauth_verifier', 
     templateUrl: 'app/views/register.html', 
     controller: 'RegisterController', 
     controllerAs: 'registerCtrl' 
    }) 
    }; 

Ich habe auch die html5mode und die Basis-URL aktiviert auf Kopf. Das Problem jetzt:

Wenn ich zu Hause bin und auf den Link klicken, um auf die Registrierungsseite zu gehen, funktioniert es. Aber wenn ich versuche, die Registerseite direkt zu laden, wird sie über Laravel-Routen geladen, und da ich dort nichts erwähnt habe, habe ich eine NotFoundHttpException.

Antwort

1

Das ist, weil beim Aktualisieren alle Routen von Laravel zuerst behandelt werden.

hatte ich das gleiche Problem und es gibt 2 Ansätze:

entweder stellen die Winkel App auf einer anderen Domain ... aber Sie werden in CORS

laufen

oder sagen Laravel zu Route gibt jede Route zu eckigen App, und das ist einfacher

Route::any('{path?}', function() 
{ 
    return view("index"); 
})->where("path", ".+");