在 laravel 5.3 中添加 css 和 js 文件
Posted
技术标签:
【中文标题】在 laravel 5.3 中添加 css 和 js 文件【英文标题】:adding css and js file in laravel 5.3 【发布时间】:2017-02-08 20:21:03 【问题描述】:我想在单个页面中包含一个 css 所有 css 和 js 并将其加载到所有页面中。现在如果我想在欢迎页面中包含 bootstrap.css 和 bootstrap.js 我已包含在welcome.blade.php 页面和如果我想添加另一个页面,我也包含在 second.blade.php 页面中。我想将它包含在母版页中
<link href=" asset('css/bootstrap.css') " rel="stylesheet">
【问题讨论】:
创建一个单独的 header.blade 并包含 css 和 js。然后在每个页面中扩展 我可以在另一个页面中包含一个blade.php吗? 是的.. 下面我分享我的代码 【参考方案1】:以下是您可以遵循的步骤
-
创建主模板布局
在所有页面中扩展主模板并将链接粘贴到标题部分
创建主模板 //master.blade.php
<html lang="en">
@yield('header')
<body>
@yield('page-body')
</body>
</html>
现在在 second.blade.php 中扩展这个布局
@extend('master.blade')
@section('header')
<link href=" asset('css/bootstrap.css') " rel="stylesheet">
@endsection
@section('page-body')
!-- content of body --
@endsection
【讨论】:
【参考方案2】:箱子 header.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content=" csrf_token() " />
<meta name="description" content="">
<meta name="author" content="">
<title>dhinchakwale</title>
<!-- Bootstrap Core CSS -->
<link href=" asset('/css/bootstrap.min.css') " rel="stylesheet">
<link href=" asset('/css/datepicker.css') " rel="stylesheet" type="text/css">
<link href=" asset('/css/bootstrap-timepicker.min.css') " rel="stylesheet" type="text/css">
<link href=" asset('/css/dataTables.bootstrap.css') " rel="stylesheet">
<!-- Custom CSS -->
<link href=" asset('/css/admin.css') " rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- jQuery -->
<script src=" asset('/js/jquery.min.js') "></script>
</head>
<body id="page-top">
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><img src="asset('/images/logo.png')" class="img-brand"></a>
</div>
</div>
</nav>
<div class="content-div">
@yield('content')
</div>
<div class="clearfix"></div>
<!-- Bootstrap Core javascript -->
<script src=" asset('/js/bootstrap.min.js') "></script>
<script src=" asset('/js/bootstrap-datepicker.js') "></script>
<script src=" asset('/js/bootstrap-timepicker.min.js') "></script>
</body>
</html>
并像这样使用 首先扩展标题 您的内容的第二部分
@extends('layouts.header')
@section('content')
<section class="content-header">
<h1>
Hello
</h1>
</section>
@stop
【讨论】:
【参考方案3】:您可以定义一个主布局视图文件,然后在那里定义您的 CSS 和 JS。然后您的所有视图文件都将扩展该布局文件。请参阅此处的文档:https://laravel.com/docs/5.3/blade
【讨论】:
【参考方案4】:定义一个通用布局并在该布局上包含所有 .js 和 .css 文件,然后将您的页面与该布局绑定。
布局:
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
其中:@yield 指令用于显示给定部分的内容。
查看:
@extends('layouts.default')
@section('content')
i am the home page
@endsection
【讨论】:
以上是关于在 laravel 5.3 中添加 css 和 js 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel 5.3 Passport 中添加 Access-Control-Allow-Origin 标头响应