我在Laravel应用中创建了一个tile组件,该组件在多个页面上用于显示/链接到配方(注意:这不是角度,vue或react组件)。
在图块组件中,我将css文件“推送”到名为styles
的堆栈中:
@push('styles')
<link href="{{ mix('css/tile.css') }}" rel="stylesheet">
@endpush
在我的head.blade.php
中,styles
堆栈被输出:
@stack('styles')
每次调用/渲染组件时,都会将tile.css
文件添加到我的style
堆栈中。这就像一个咒语,我的图块是根据我的tile.css
文件设置样式的。唯一的问题是tile.css
文件多次添加到styles
堆栈中。
是否有一种方法可以防止/检查styles
堆栈中的两次插入,还是必须手动将tile.css
文件添加到生成切片组件的每个页面/刀片文件中?
答案 0 :(得分:2)
pushonce
是在Laravel 7中引入的。
@pushonce('styles')
<link href="{{ mix('css/tile.css') }}" rel="stylesheet">
@endpush
答案 1 :(得分:1)
我相信这是不可能的,但老实说,我认为没有任何用处。
实际上,您通常会创建多个SASS文件,并使用Laravel mix将它们连接成一个文件,因此您不必在意每个子页面上需要哪个CSS。您只需将所有CSS都编译成单个文件,因此浏览器仅加载一次CSS,然后使用缓存中的文件。