Laravel 5.7:未定义索引样式(mix('/ css / frontend.css'))是什么意思?

时间:2018-11-06 02:25:55

标签: css laravel laravel-blade

我是Laravel的新手,目前正尝试将vue导入我的Laravel项目。

我运行“ npm run dev”命令并检查了从样板项目下载的使用刀片布局构建的页面后,我看到错误:style(mix('/ css / frontend.css')中的未定义索引。此CSS文件存在于public / css中。

这是调用此错误的行。

{{ style(mix('/css/frontend.css')) }}

它的含义是什么以及如何解决?

此外,我找不到说明style()和mix()函数的api文档。 如果您知道文档在哪里,请给我链接。谢谢!

1 个答案:

答案 0 :(得分:3)

检查webpack.mix.js以查看Laravel Mix是否正在编译frontend.css。如果看不到任何引用,则应在Blade视图中使用asset('/css/frontend.css')而不是mix()来引用文件。

mix()public/mix-manifest.json读取以将您的源文件名映射到其输出名称,这在为缓存清除而对文件进行版本控制时非常有用。混合清单条目可能看起来像这样:"/css/app.css": "/css/app.css?id=7564ad125f69af0035c3"。如果您的文件不是使用Laravel mix编译或复制的,则它 not 在mix-manifest.json中没有条目,这将解释未定义的索引错误以及为什么需要使用{{1} }。

此外,我不知道asset()是什么,但是Laravel框架没有它。

参考:https://laravel.com/docs/5.7/mix#versioning-and-cache-busting