Home > Backend Development > PHP Tutorial > Laravel 5 中使用 HtmlBuilder 及 URL::asset() 引入站内或站外的 css 和 js 文件

Laravel 5 中使用 HtmlBuilder 及 URL::asset() 引入站内或站外的 css 和 js 文件

WBOY
Release: 2016-06-23 13:13:41
Original
1244 people have browsed it

在应用中引入站内或站外的css和js文件是一项基本需求,Laravel 5提供了多种方式来引入css和js,今天我们就来讨论这个问题。

1、 HtmlBuilder

在Laravel 5之前我们使用内置的 HtmlBuilder来添加样式和脚本文件,但是在 Laravel 5 将 HtmlBuilder从核心中移除出去了,所以 HTML::style()不再有效。如果你想要在 Laravel 5 中继续使用需要手动引入 illuminate/html这个包。

我们还是通过Composer来安装:

composer require illuminate/html 5.*
Copy after login

安装完成后需要在 config/app.php中注册服务提供者到 providers数组:

Illuminate\Html\HtmlServiceProvider::class,
Copy after login

同时注册门面到 aliases数组:

'Html' => Illuminate\Html\HtmlFacade::class,'Form' => Illuminate\Html\FormFacade::class,
Copy after login

接下来你就可以在视图文件中使用如下方式来引入css和js文件了:

{!!Html::style('css/style.css')!!}{!!Html::script('js/script.js')!!}
Copy after login

注:站内文件默认相对于web根目录,也就是 public目录

如果要引入站外文件,可以这么实现:

{!!Html::style('//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css')!!}{!!Html::script('//code.angularjs.org/1.2.13/angular.js')!!}
Copy after login

2、URL::asset()

此外,还可以使用内置的 URL类上的 asset()方法来引入css和js文件。

引入站内css和js:

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

注:默认相对于web根目录,也就是 public目录

引入站外css和js:

<link rel="stylesheet" href="{{ URL::asset('//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css') }}"><script type="text/javascript" src="{{ URL::asset('//code.angularjs.org/1.2.13/angular.js') }}"></script>
Copy after login
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template