Laravel的样式表和JavaScript在非基础路由中无法加载。

15 浏览
0 Comments

Laravel的样式表和JavaScript在非基础路由中无法加载。

好的,我知道这是一个非常基础的问题,但我无法解决它。这是关于Laravel的一个问题。\n基本上,我将我的样式表嵌入到默认的布局视图中。我目前只是使用常规的css链接它们,例如:\n


\n当我在单层路由(例如/about)时,它运行得很好,但当我深入到更深层次的路由(例如/about/me)时,它停止工作。\n如果我查看Chrome的开发者控制台,我会看到一些以下错误(仅适用于更深层次的路由):\n

资源被解释为样式表,但以text/html的MIME类型传输:“http://example.dev/about/css/app.css”。

\n所以显然它现在正在寻找位于“about”文件夹内的css,而实际上根本没有这样的文件夹。\n我只希望它无论路由如何都在同一个位置查找资源。

0
0 Comments

Laravel的样式表和JavaScript不会在非基础路由上加载的问题是由于使用相对路径而不是绝对路径导致的。解决方法是将相对路径改为绝对路径,只需在"css"之前加上斜杠即可。


如果你的应用程序位于站点的子目录中,这种方法将不起作用。这时会遇到一个问题,即你在寻找资源时会查找太远。我的建议是使用提供的解决方案。这样可以消除所有猜测,并且可以将应用程序移动到任何位置,并确保正确加载资源。


这个解决方法使用`asset`函数来生成绝对路径,并确保资源能够正确加载。无论你将应用程序移动到何处,都不需要修改样式表和JavaScript的路径。

0
0 Comments

Laravel 4中,非基本路由的样式表和JavaScript不会加载的问题的出现原因是由于样式表和JavaScript文件的路径设置不正确。解决方法是使用HTML::style和HTML::script函数来添加样式表和JavaScript文件,并且确保路径是正确的。

添加CSS

HTML::style函数将链接到项目的public文件夹中的样式表。

{{ HTML::style('css/bootstrap.css') }}

添加JS

HTML::script函数将链接到项目的public文件夹中的JavaScript文件。

{{ HTML::script('js/script.js') }}

0
0 Comments

Laravel中的样式表和JavaScript在非基础路由中无法加载的问题,其出现的原因是使用了错误的路径来引用资源文件。解决方法是使用正确的路径来引用资源文件。

在Laravel 4和5中,可以使用URL::asset方法来引用资源文件,该方法会将资源文件链接到project/public/文件夹中。

如果想要将样式表和JavaScript文件包含在自己的包中,可以使用asset()辅助方法来代替URL::asset()方法。它们的功能是相同的。

另外,如果在开发环境中不想使用压缩版本的资源文件,可以在生产环境中使用压缩版本,可以通过设置相应的配置来实现。

以上方法在Laravel 5.1、5.4、5.6和6中都适用。

可以通过这里的运行容器来查看此解决方案的调试详情。

0