我之前注意到,当我向路线添加参数时,这打破了我的观点,因为它似乎改变了我的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
只需链接到&#34; /assets/css/bootstrap.min.css"工作正常,直到我添加路由参数。如果没有对整个网址进行硬编码,我该怎么办?
答案 0 :(得分:1)
试试这个
<link href="<?php echo URL::asset('css/app.css'); ?>" rel="stylesheet" type="text/css">
我相信这会解决你的问题
另一种解决方案:
<link type="text/css" rel="stylesheet" href="{{ URL::to('/') }}/assets/css/bootstrap.min.css">
答案 1 :(得分:0)
非常罕见。我正在使用L5.1并且与HTML包一起看起来很好。请记住。需要以下包裹:
"illuminate/html": "~5.0@dev"
然后运行composer update
。安装软件包后,编辑config/app.php
添加提供程序:
'Illuminate\Html\HtmlServiceProvider',
外观:
'HTML' => 'Illuminate\Html\HtmlFacade'
现在,让我们看一些显示资产链接的解决方案:
使用html facade
{!! 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') }}">
请注意,不要使用
public_path
(),因为它会返回绝对目录路径,如/var/www/html/laravel
而不是网址。