在刀片模板中包含css文件?

pan*_*hro 17 laravel laravel-5 laravel-5.4

我想在我的Laravel刀片模板中包含一个css文件.

我试过了:

@include(public_path('css/styles.css'))
Run Code Online (Sandbox Code Playgroud)

但它说视图不存在.它确实存在.

我怎样才能包含css文件?

请注意,我知道这不是链接css文件的正确方法,但对于我的用例它是(我不是在建立一个网站).

Wah*_*nto 42

@include指令允许您从另一个视图中包含Blade视图,如下所示:

@include('another.view')
Run Code Online (Sandbox Code Playgroud)

包含主布局中的CSS或JS

<link href="{{ asset('css/styles.css') }}" rel="stylesheet">
<script type="text/javascript" src="{{ asset('js/scripts.js') }}"></script>
Run Code Online (Sandbox Code Playgroud)

从子视图中获取CSS或JS,使用@push().

layout.blade.php

<html>
    <head>
        <!-- push target to head -->
        @stack('styles')
        @stack('scripts')
    </head>
    <body>

        <!-- or push target to footer -->
        @stack('scripts')
    </body>
</html
Run Code Online (Sandbox Code Playgroud)

view.blade.php

@push('styles')
    <link href="{{ asset('css/styles.css') }}" rel="stylesheet">
@endpush

@push('scripts')
    <script type="text/javascript" src="{{ asset('js/scripts.js') }}"></script>
@endpush
Run Code Online (Sandbox Code Playgroud)


小智 18

如果您的public / css中的css文件使用:

<link rel="stylesheet" type="text/css" href="{{ asset('css/style.css') }}" >
Run Code Online (Sandbox Code Playgroud)

如果您的css文件位于其他公用文件夹中:

 <link rel="stylesheet" type="text/css" href="{{ asset('path/css/style.css') }}" >
Run Code Online (Sandbox Code Playgroud)


mad*_*oet 5

正如您所说,这是一种糟糕的方式,因此 Laravel 没有该功能,AFAIK。

然而,blade 可以运行普通的 php,所以如果你真的需要,你可以这样做:

<?php include public_path('css/styles.css') ?>
Run Code Online (Sandbox Code Playgroud)


Jac*_*kal 5

在你的主布局中将其放在所有内容底部的头部

@stack('styles')
Run Code Online (Sandbox Code Playgroud)

在你看来,把这个

@push('styles')

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

@endpush
Run Code Online (Sandbox Code Playgroud)

基本上是一个占位符,因此链接将出现在您的主布局上,并且您可以在不同页面上看到自定义 css 文件