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

使用Require.js加载Bootstrap 4时Popper.js加载失败问题咨询

解决Bootstrap 4 + Require.js找不到Popper.js的问题

嘿,我碰到过一模一样的问题!这其实是Require.js和Bootstrap的依赖映射没配对导致的——你已经用Require.js加载了正确路径的Popper,但Bootstrap还在按默认逻辑找根目录的文件,咱们来把它改过来:

核心解决方案:配置Require.js的路径与依赖关系

1. 修正Require.js的路径和Shim配置

先确保你的Require.js配置里,不仅给Popper设置了正确路径,还要告诉Bootstrap该如何通过Require.js获取它的依赖:

require.config({
  paths: {
    // 按你的实际路径调整
    'jquery': 'Libs/jquery/dist/jquery',
    'popper': 'Libs/popper.js/dist/umd/popper',
    'bootstrap': 'Libs/bootstrap/dist/js/bootstrap'
  },
  shim: {
    // 告诉Bootstrap它依赖jquery和popper
    'bootstrap': {
      deps: ['jquery', 'popper'],
      exports: 'bootstrap'
    },
    // 让Require.js能识别Popper的全局导出
    'popper': {
      exports: 'Popper'
    }
  }
});

2. 用Require.js的方式加载Bootstrap

别在HTML里直接引入Bootstrap的JS文件,要通过Require.js的依赖加载机制来引入:

require(['jquery', 'popper', 'bootstrap'], function($, Popper) {
  // 这里就可以正常使用Bootstrap的功能啦
  // 比如初始化下拉菜单或者工具提示:
  $('[data-toggle="dropdown"]').dropdown();
});

为什么之前会出错?

Bootstrap 4的UMD版本在检测到Require.js时,会尝试调用require('popper.js')来加载依赖,但你的Require.js路径里映射的模块名是popper而不是popper.js,所以它会去根目录找不存在的文件。加上Shim配置后,就能让Bootstrap正确识别Require.js管理的依赖模块了。

额外小提醒

  • 你现在用的Popper.js UMD版本是对的,这个版本才支持Require.js的模块加载方式,别换成其他版本哦。
  • 确保所有依赖都通过Require.js加载,避免全局引入和模块加载的冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:53:00