Laravel 9认证视图显示为原始HTML问题求助(Laravel 8下正常)
解决Laravel9中laravel/ui生成认证视图显示原始HTML的问题
排查与修复步骤
1. 调整资源构建与引入方式
Laravel 9默认使用Vite构建工具,而laravel/ui仍基于Mix生成资源,需适配Vite的资源引入规则:
- 先确保
npm install && npm run dev执行无报错,public/css/app.css和public/js/app.js已正常生成 - 打开认证视图文件(如
resources/views/auth/login.blade.php),将原有资源引入代码替换为Vite格式:{{-- 替换前 --}} <link href="{{ asset('css/app.css') }}" rel="stylesheet"> <script src="{{ asset('js/app.js') }}"></script> {{-- 替换后 --}} @vite(['resources/css/app.css', 'resources/js/app.js']) - 修改
vite.config.js,确保包含laravel/ui的资源入口:import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ input: [ 'resources/css/app.css', 'resources/js/app.js', ], refresh: true, }), ], }); - 重新执行
npm run dev
2. 升级laravel/ui到兼容版本
Laravel 9需要匹配laravel/ui 3.4+版本,执行以下命令更新:
composer require laravel/ui:^3.4
更新完成后重新生成认证视图:
php artisan ui vue --auth
3. 清除系统缓存
执行以下命令清除各类缓存,避免旧配置或视图缓存导致的异常:
php artisan cache:clear php artisan view:clear php artisan config:clear
4. 检查APP_URL配置
打开.env文件,确认APP_URL与当前访问地址完全一致,例如:
APP_URL=http://localhost:8000
路径不匹配会导致资源加载失败,使页面仅显示原始HTML结构。
内容的提问来源于stack exchange,提问作者cyber dev
相关产品推荐
相关产品推荐

