Laravel 9中@vite引入CSS/JS失效,请求技术支持
Laravel 9 + Jetstream Livewire + Vite 4.0.0 资源加载故障排查方案
问题背景
在Laravel 9项目中执行以下命令安装Jetstream Livewire和Vite 4.0.0授权功能后,app.blade.php和guest.blade.php中的@vite(['resources/css/app.css', 'resources/js/app.js'])无法正常加载CSS/JS资源,已尝试Stack Overflow常规方案无效。
安装命令:
composer require laravel/jetstream php artisan jetstream:install livewire php artisan migrate npm install npm run dev npm run build
app.blade.php核心代码片段:
<!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="csrf-token" content="{{ csrf_token() }}"> <title>{{ config('app.name', 'Laravel') }}</title> <!-- Fonts --> <link rel="preconnect" href="https://fonts.bunny.net"> <link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" /> <!-- Scripts --> @vite(['resources/css/app.css', 'resources/js/app.js']) <!-- Styles --> @livewireStyles </head> <body> <div class="font-sans text-gray-900 antialiased"> {{ $slot }} </div> @livewireScripts </body> </html>
针对性排查与修复步骤
- 验证环境配置:检查
.env文件中的APP_URL是否与当前访问地址一致(例如本地开发需设为APP_URL=http://localhost:8000),Vite依赖该值生成正确的资源路径。 - 检查Vite配置文件:确认
vite.config.js包含Laravel插件并正确配置入口文件,标准配置如下: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, }), ], }); - 清除项目缓存:执行以下命令清除各类缓存,避免配置残留:
php artisan cache:clear php artisan config:clear php artisan view:clear - 确认资源文件存在:检查
resources/css/app.css和resources/js/app.js是否存在,若缺失可重新执行php artisan jetstream:install livewire生成。 - 开发环境注意事项:若处于开发模式,需确保
npm run dev命令持续运行(Vite开发服务器需保持活跃);生产环境需确保已执行npm run build生成静态资源。 - 查看浏览器错误日志:打开浏览器开发者工具的控制台,查看具体错误信息(如404路径错误、CORS限制等),针对性解决。
内容的提问来源于stack exchange,提问作者Rana Muhammad Rameez
相关产品推荐
相关产品推荐

