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

Laravel 11 + Vite 项目如何仅在单个页面引入jQuery?

实现单个页面引入jQuery加载Trumbowyg(Laravel 11 + Vite)

可以实现仅在目标页面引入jQuery,无需全局挂载,具体步骤如下:

  • 步骤1:移除全局jQuery引入
    打开bootstrap.js,删除其中全局引入jQuery的代码(通常是类似以下内容):

    import $ from 'jquery';
    window.$ = window.jQuery = $;
    
  • 步骤2:在页面专属JS中引入并挂载jQuery
    修改你的trumbowyg-page.js,先引入jQuery并挂载到全局对象,再加载Trumbowyg(Trumbowyg默认依赖全局的$/jQuery):

    import $ from 'jquery';
    // 将jQuery挂载到window,满足Trumbowyg的依赖需求
    window.$ = window.jQuery = $;
    
    import "trumbowyg/dist/ui/trumbowyg.min.css";
    import "trumbowyg";
    
    $(document).ready(function () {
        $.trumbowyg.svgPath = window.trumbowygSvgPath;
        $("#trumbowyg-editor").trumbowyg();
    });
    
  • 步骤3:保持Blade模板的引入不变
    原有的模板代码无需修改,Vite会自动处理该页面JS的依赖打包,仅在当前页面加载jQuery和Trumbowyg资源:

    <script type="module">
            window.trumbowygSvgPath = '{{ Vite::asset('resources/images/icons.svg') }}';
    </script>
    <script type="module" src="{{ Vite::asset('resources/js/trumbowyg-page.js') }}"></script>
    

原理说明:
Trumbowyg编辑器默认依赖全局作用域下的$或jQuery对象,之前仅全局引入时才能找到该对象。现在通过在页面专属JS中引入jQuery并挂载到window,既满足了Trumbowyg的依赖需求,又保证了jQuery仅在当前页面加载,不会增加其他页面的资源体积。

内容的提问来源于stack exchange,提问作者Chris L

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:46:04