You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9集成Vite后资源加载出现404错误求助

Laravel 9 + Vite集成Bootstrap Sass资源加载404问题解决

问题根源分析

  • 直接在Blade中硬编码资源路径,未使用Laravel Vite插件提供的@vite指令(Vite编译后会生成带哈希的资源文件名,硬编码路径无法匹配)
  • vite.config.js中错误设置了root目录为src,导致Vite无法定位到Laravel默认的resources资源目录
  • Blade模板存在HTML语法错误,影响资源加载
  • 入口资源重复配置:app.js已导入styles.scss,无需在vite.config.js的input中单独添加

分步修复方案

1. 修正vite.config.js配置

移除错误的root设置,删除重复的resources/sass/styles.scss入口(因为已在app.js中导入),调整后的配置如下:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
const path = require('path')

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/css/app.css',
                'resources/js/app.js'
            ],
            refresh: true,
        }),
    ],
    resolve: {
      alias: {
        '~bootstrap': path.resolve(__dirname, 'node_modules/bootstrap'),
      }
    },
    server:{
        host:'127.0.0.1'
    }
});

2. 修复Blade模板的资源引用与语法错误

使用Laravel Vite提供的@vite指令引入资源,替换原有的硬编码路径,同时修正HTML语法错误:

<!DOCTYPE html>
<html lang="en">
<head>
    {{-- 使用@vite指令加载Vite编译的资源 --}}
    @vite(['resources/js/app.js'])
</head>
<body>
    <!-- 页面内容 -->
</body>
</html>

说明:@vite会自动根据环境(开发/生产)加载对应的资源,开发环境加载Vite dev server的资源,生产环境加载npm run build后生成的哈希资源文件,同时自动注入对应的CSS(因为app.js已导入styles.scss)。

3. 确认app.js的导入逻辑(保持现有即可)

确保app.js正确导入Bootstrap和Sass文件:

import './bootstrap';
import '../sass/styles.scss';
import * as bootstrap from 'bootstrap';

4. 重新启动服务与编译

  • 停止当前的npm run dev和Laravel服务
  • 重新启动Laravel开发服务器:php artisan serve
  • 重新启动Vite开发服务:npm run dev
  • 生产环境执行:npm run build后再启动Laravel服务

验证修复

访问页面后,Chrome控制台不再出现404错误,Bootstrap样式和脚本正常生效。

内容的提问来源于stack exchange,提问作者Angelo Dionisio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:39:29