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

Blade视图中Vite无法加载jQuery的问题求助

Laravel Vite构建后找不到jQuery文件的原因分析
  • Vite不支持直接引用node_modules路径的裸模块
    Vite遵循ES模块规范,默认无法识别node_modules/jquery/dist/jquery.js这类直接指向依赖包内部文件的路径写法。这类未经过模块系统处理的路径,不会被Vite纳入构建流程,最终生成的manifest文件里也不会包含对应记录,自然会提示找不到文件。

  • @vite指令的使用方式错误
    @vite指令的作用是引入你项目自己编写的入口文件(比如resources/js/app.js),而非直接指向node_modules里的第三方依赖文件。正确的做法是在入口文件中导入所需依赖,再通过@vite引入该入口文件:

// resources/js/app.js
import $ from 'jquery';
import 'bootstrap';
import '@fortawesome/fontawesome-free/css/all.css';

// 全局暴露jQuery供页面使用
window.$ = window.jQuery = $;

然后在Blade视图中使用:

@vite(['resources/js/app.js', 'resources/css/app.css'])
  • vite.config.js配置缺失或错误
    如果没有正确配置模块别名或资源解析规则,Vite可能无法正确定位依赖。比如给jQuery配置别名的正确写法是在vite.config.js中添加:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import path from 'path';

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

但注意,即便配置了别名,依然要通过入口文件导入依赖,不能直接用@vite引用node_modules路径。

  • 依赖未被纳入构建流程
    如果你的入口文件中没有导入jQuery,Vite执行npm build时不会将jQuery打包到输出目录,manifest文件里也就不会有该文件的记录,访问时必然提示找不到。

内容的提问来源于stack exchange,提问作者Dimitrios Desyllas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 00:32:33