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

.NET 8项目集成Popper.js报错:'popperjs'不存在的解决方法

解决.NET 8项目中Popper.js "does not exist in the current context" 错误

以下是针对该错误的具体排查和解决步骤:

  • 确认Popper.js的正确安装
    当前Popper.js的稳定版本是v2.x,包名为@popperjs/core,而非旧版的popper.js。如果用npm安装,执行命令:

    npm install @popperjs/core
    

    若使用LibMan管理前端依赖,确保libman.json中配置的是正确的包源和包名,示例配置:

    {
      "library": "@popperjs/core@2.11.8",
      "destination": "wwwroot/js/popper",
      "files": ["dist/umd/popper.min.js"]
    }
    

    检查package.json或libman.json确认依赖已正确安装。

  • 确保布局页中脚本引用顺序正确
    在布局页(比如_Layout.cshtml)中,必须先加载Popper.js,再加载依赖它的脚本(比如Bootstrap dropdown组件),示例引用:

    <!-- 先加载Popper.js -->
    <script src="~/js/popper/popper.min.js"></script>
    <!-- 再加载依赖Popper的脚本 -->
    <script src="~/js/bootstrap.min.js"></script>
    

    如果使用CDN,确保链接有效且加载顺序正确:

    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
    
  • 修正Popper的调用代码
    Popper v2的API与v1完全不同,不要使用旧的new Popper()语法,正确的初始化方式为:

    // 获取触发元素和目标元素
    const triggerEl = document.getElementById('yourTriggerElement');
    const targetEl = document.getElementById('yourTargetElement');
    
    // 初始化Popper实例
    if (triggerEl && targetEl) {
      Popper.createPopper(triggerEl, targetEl, {
        placement: 'bottom' // 自定义位置配置
      });
    }
    

    确保这段代码在Popper.js加载后执行,可以放在DOMContentLoaded事件中:

    document.addEventListener('DOMContentLoaded', function() {
      // 这里写Popper初始化代码
    });
    
  • 验证.NET 8静态资产配置
    确认wwwroot下的Popper.js文件已被正确纳入项目:右键文件→属性→设置“复制到输出目录”为“如果较新则复制”。
    同时检查Program.cs中是否启用了静态文件中间件,确保存在以下代码:

    app.UseStaticFiles();
    
  • 清理缓存并重建项目
    执行以下操作清除可能的缓存问题:

    • 清理npm缓存:npm cache clean --force
    • 重建整个解决方案
    • 强制刷新浏览器(Ctrl+Shift+R)清除浏览器缓存
  • 排查全局变量冲突
    在浏览器开发者工具的控制台中输入Popper,如果返回undefined,说明Popper的全局变量未被正确注册。检查项目中是否有其他脚本覆盖了Popper变量,或者Popper.js文件未正确加载(查看网络标签页确认脚本是否成功加载)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:12:37