我之前注意到,当我向我的路由添加参数时,这打破了我的观点,因为它似乎改变了我的 CSS 和 JS 文件的链接。在尝试让 HTML 包在 Laravel 5.1 中工作数小时后,由于 Composer 问题,我最终放弃并认输。
我选择只采用简单的方法,然后返回直接链接它们,但我现在正在努力让它发挥作用。
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/metismenu.min.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/sb-admin-2.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/font-awesome.min.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/datatables.bootstrap.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/datatables.responsive.css">
它不是链接到本地文件,而是将整个字符串附加到我的基本 URL 并尝试链接到明显错误的内容。
当前链接:
http://domain.com/home/roster/laravel/public/assets/css/bootstrap.min.css
正确的链接:
http://domain.com/assets/css/bootstrap.min.css
在我添加路由参数之前,只需链接到“/assets/css/bootstrap.min.css”就可以正常工作。除了对整个 URL 进行硬编码之外,我该怎么做才能使这些链接正常工作?
最佳答案
非常罕见。我正在使用 L5.1 并且与 HTML 包一起看起来不错。只是为了记住。需要以下包:
"illuminate/html": "~5.0@dev"
然后运行 composer update
。安装包后,编辑 config/app.php
添加提供程序:
'Illuminate\Html\HtmlServiceProvider',
和门面:
'HTML' => 'Illuminate\Html\HtmlFacade'
现在,让我们看看一些显示 Assets 链接的解决方案:
使用 html 门面
{!! HTML::style('assets/css/bootstrap.min.css') !!}
使用原始代码调用
url()
函数:<link type="text/css" rel="stylesheet" href="{{ url('assets/css/bootstrap.min.css') }}">
使用原始代码调用
URL
facade:<link type="text/css" rel="stylesheet" href="{{ URL::to('assets/css/bootstrap.min.css') }}">
As a note, do not use
public_path
() because it returns an absolute directory path like/var/www/html/laravel
instead an url.
关于javascript - 在 Laravel 的 Blade 模板中链接 CSS/JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33271514/