【问题标题】:How can I disable laravel routes for ReactJs如何禁用 ReactJs 的 laravel 路由
【发布时间】:2017-04-29 09:12:46
【问题描述】:

我在 Laravel 上的应用程序中遇到了路由问题,因为我在 laravel 资源目录中使用 ReactJs 路由。使用 laravel 5.3 和最新的 React Js。

资源/资产/js/src/Route.js

const routes = (
    <Route path='/' component={DefaultPageLayout}>
        <IndexRoute component={App} />
        <Route path="register" component={MasterPageLayout}>
            <IndexRoute component={Register} />
        </Route>
    </Route>
)

export default routes;

路由/web.php

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

当我尝试重定向到注册页面时,它返回以下错误

NotFoundHttpException in RouteCollection.php line 161:

in RouteCollection.php line 161
at RouteCollection->match(object(Request)) in Router.php line 755
at Router->findRoute(object(Request)) in Router.php line 610
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 268
at Kernel->Illuminate\Foundation\Http{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 150
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117
at Kernel->handle(object(Request)) in index.php line 54
at require_once('/opt/lampp/htdocs/react_laravel/public/index.php') in server.php line 21

如何解决 Laravel 中的路由问题?我想从反应而不是 Laravel 获得路线。我应该进行哪些更改,以便从一开始 Laravel 路由将每个请求移交给 React 路由

【问题讨论】:

    标签: reactjs laravel-5 url-routing


    【解决方案1】:

    您只需将以下代码添加到

    // change your existing app route to this:
    // we are basically just giving it an optional parameter of "anything"
    Route::get('/{path?}', function($path = null){
            return View::make('app');
        })->where('path', '.*'); 
    //regex to match anything (dots, slashes, letters, numbers, etc)
    

    您的路由可以在 laravel 中的任何前端 JavaScript 框架中正常工作。

    【讨论】:

      猜你喜欢
      • 2020-03-23
      • 2013-08-07
      • 2017-07-30
      • 1970-01-01
      • 2019-09-26
      • 2020-10-27
      • 2015-07-12
      • 2021-04-30
      • 1970-01-01
      相关资源
      最近更新 更多