如何在Laravel 5.1项目中链接外部CSS和脚本(资产)


How to link external CSS and Script (assets) in Laravel 5.1 project

大家好,我是Laravel的新手,这是我在Laravel做的第一个项目,我在链接我的资产(CSS &我的观点…我做了一项研究,发现如果我在Laravel 5.1中使用{{URL::asset('assets/plugins/bootstrap/css/bootstrap.min.css')}},它将工作。当它只是一个链接时,我确实成功了,但是当我添加其他链接时……

<link rel="stylesheet" href="{{URL::asset('assets/plugins/animate.css')}}">
<link rel="stylesheet" href="{{URL::asset('assets/plugins/line-icons/line-icons.css')}}">
<link rel="stylesheet" href="{{URL::asset('assets/plugins/parallax-slider/css/parallax-slider.css')}}">
<link rel="stylesheet" href="{{URL::asset('assets/css/custom.css')}}">

服务器拒绝访问assets文件夹Access forbidden!中的所有文件。我的。htaccess文件代码是…

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>

问题是,如果。htaccess文件有问题,为什么当我把一个资产链接它接受?或者链接文件的正确方式是什么?我使用XAMPP作为我的本地服务器。*伙计,我昨天才学会Laravel,所以别对我太客气了……提前感谢

可以使用laravel刀片模板方法

{!! HTML::style('css/style.css') !!}
{!! HTML::script('js/script.js') !!}

注意:你应该添加css文件到公共文件夹意味着在我的例子中,它将像public/css文件夹。同样也适用于jquery文件。

如果你正在使用在线链接,你也可以添加以下方式

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

或者

<link rel="stylesheet" href="{{ URL::asset('css/style.css') }}" />
<script type="text/javascript" src="{{ URL::asset('js/jquery.js') }}"></script>

试着用你的文件夹名替换CSS。

<link rel="stylesheet" href="{{asset('css/home.css')}}">

当添加资产时,最好使用资产助手 http://laravel.com/docs/5.1/helpers#urls

用于外部

<link rel="stylesheet" href="{{asset('//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css')}}">

和laravel船与一个htaccess文件尝试替换为您的https://github.com/laravel/laravel/blob/master/public/.htaccess

也给你的目录正确的权限

Folders 755
Files 644
Apart from;
app/storage 777 (or 755 with owner as webserver user)

使用Laravel Collective HTML Package

安装完这个包后,你可以像这样使用

{!! Html::style('your/css/file.css') !!}
{!! Html::script('your/js/file.js') !!}
{!! Html::image('your/image/file.jpg') !!}

谢谢大家的帮助,我解决了我的问题。

  1. 我又去了http://laravel.com/docs/5.1/helpers#method-asset
    • 我发现他们说$url = asset('img/photo.jpg');会给我的url到我的资产文件。
  2. So I Route…

    Route::get('check', function () {
    $url = asset('assets/css/headers/header-default.css');
    return $url;
    }); 
    

    我得到了链接http://localhost/Dentist/public/assets/css/headers/header-default.css

  3. 所以我只是违反了规则,如果有的话,我在我的样式表中这样做了

<link rel="stylesheet" href="<?php echo $url = asset('assets/css/style.css'); ?>">

-> **除此之外,你还可以这样做**

{!!asset('assets/plugins/jquery/jquery.min.js')!!}

因为正如所说的,如果你使用blade,那么就不需要使用<?php echo ; ?>命令…所以我用{!! asset('assets/css/...') !!}代替了<?php echo $url = ; ?>确保您的文件位于public/assets/目录

谢谢所有的

在我的例子中,我看了看上面的地方,发现了错误。我发现我在相同外观的声明中遗漏了一个"'"字符:

<script src="{{asset('js/bootstrap.min.js)}}"></script>

在上面的某个地方。如你所见,"。js"后面漏掉了字符" ' "这样在

这个错误位置之前所有下面的声明都没有' '对