Laravel 10集成Breeze认证系统遇Mix manifest缺失及CSS失效问题求助
解决Laravel 10+Breeze中CSS加载失败(Mix manifest未找到)的问题
出现Mix manifest not found错误的核心原因是:Laravel 10默认使用Vite作为前端构建工具,而非Laravel Mix,而Breeze认证系统的资源配置也是基于Vite的,你使用的mix()函数是Mix的语法,自然找不到对应的manifest文件。
以下是两种解决方案,推荐优先使用方案一(符合Laravel 10默认配置):
方案一:切换为Vite资源引用方式
替换模板中的资源引用代码
将原来的:<link rel="stylesheet" href="{{ mix('css/app.css') }}">替换为Laravel Vite的官方指令(放在模板的
<head>标签内):@vite(['resources/css/app.css', 'resources/js/app.js'])这个指令会自动处理开发/生产环境下的资源路径,无需手动拼接。
安装依赖并编译资源
- 首先在项目根目录执行命令安装前端依赖:
npm install - 开发环境下,启动Vite开发服务器(实时编译资源,支持热重载):
npm run dev - 生产环境下,编译并打包资源到
public/build目录:npm run build
- 首先在项目根目录执行命令安装前端依赖:
方案二:改用Laravel Mix(不推荐,非默认配置)
如果你坚持要使用Laravel Mix,需要手动配置:
安装Laravel Mix依赖
npm install laravel-mix --save-dev创建webpack.mix.js配置文件
在项目根目录新建webpack.mix.js,内容如下(适配Breeze的Tailwind CSS配置):const mix = require('laravel-mix'); mix.js('resources/js/app.js', 'public/js') .postCss('resources/css/app.css', 'public/css', [ require('tailwindcss'), ]);编译资源生成mix-manifest.json
执行命令编译资源:npm run dev编译完成后,
public目录下会生成mix-manifest.json,此时mix('css/app.css')就能正常加载资源了。
内容的提问来源于stack exchange,提问作者Shashi Rajput
相关产品推荐
相关产品推荐

