【问题标题】:Laravel React-router 404 for Resource files (CSS/JS)用于资源文件 (CSS/JS) 的 Laravel React-router 404
【发布时间】:2018-12-15 01:13:48
【问题描述】:

我正在与 Laravel (5.6) 和 React (16.4.1+react-router) 合作开展一个项目,遇到了一个问题,也许你们中的一些人也有类似的问题,所以我想知道我们能得到一些想法。最近我在这里找到了刷新错误(404)的解决方案:How to use React Router with Laravel? 并且其中一个解决方案也解决了 /app/{anything} 问题。

现在我的问题是来自/public 文件夹的资源文件(/css/js)。我尝试使用与 /app =>

相同的正则表达式来解决问题

Route::get( '/{path?}', function() { return view( 'home' ); })->where('path', '^((?!app|api|css|js).)*$');

但它仍然没有按预期工作。正如我所读到的,由于 Laravel 的缓存机制,我们必须将这个 sn-p 放在我们包含在我们的应用程序中的所有路由之后,但它不适用于 /css 和 /public 文件夹中的 /js 资源文件 > 但适用于 @ 987654327@ 和 /app 路由,以及我在 /{path?} 之前添加的任何内容。

有什么解决办法吗?我究竟做错了什么?

感谢您的帮助, 乐菲兹。

【问题讨论】:

    标签: laravel reactjs react-router


    【解决方案1】:

    我想我已经找到了解决方案,并且我认为我必须与其他正在寻找它的人分享。首先,这是一个错误。在home.blade.php 视图中,我错误地链接了我的资源文件,如下所示:<link rel="stylesheet" href="http://mydomain.something/css/styles.css" /> 这就是为什么它没有找到路线,并与 /{path?/ 匹配 - 所以它实际上是呈现主视图而不是返回资源文件。

    为此,Laravel 提供了一个解决方案,通过在 /public 文件夹中查找您的资产,只需简单地链接您的文件:<link rel="stylesheet" type="text/css" href="{{asset('css/styles.css')}}" /> 和几乎相同的 JS(本地)资产解决方案:<script src="{{asset('js/app.js')}}" ></script>

    要提一下,您应该链接外部(来自其他网络),就像我使用我的 Laravel 应用程序所做的那样,由于我要求的问题而无法正常工作。

    祝你好运。 :)

    【讨论】:

      猜你喜欢
      • 2021-01-06
      • 2013-09-18
      • 1970-01-01
      • 2021-04-21
      • 2015-01-09
      • 1970-01-01
      • 2014-05-12
      • 1970-01-01
      • 2016-07-25
      相关资源
      最近更新 更多