在 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 文件的主要内容,如果未能解决你的问题,请参考以下文章

CSS 未加载到 Laravel 的刀片 (5.3)

如何在 Laravel 5.3 中添加自定义通知通道

在 Laravel 5.3 Passport 中添加 Access-Control-Allow-Origin 标头响应

Laravel 5.3 将 html 添加到 MailMessage->line

如何在 laravel 5.3 中使用 ajax

Laravel 5.3 迁移:1215 无法添加外键约束