首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Angular 4 Bootstrap下拉菜单需要Popper.js

Angular 4 Bootstrap下拉菜单需要Popper.js
EN

Stack Overflow用户
提问于 2017-08-15 02:21:10
回答 2查看 65.8K关注 0票数 60

我有一个新创建的角度4 CLI应用程序。运行此命令后:

代码语言:javascript
复制
npm install bootstrap@4.0.0-beta jquery popper.js --save

并像这样编辑.angular-cli.json:

代码语言:javascript
复制
"styles": [
  "styles.css",
  "../node_modules/bootstrap/dist/css/bootstrap.min.css"
],
"scripts": [
  "../node_modules/jquery/dist/jquery.slim.min.js",
  "../node_modules/bootstrap/dist/js/bootstrap.min.js",
  "../node_modules/popper.js/dist/umd/popper.min.js"
],

我在Chrome控制台上仍然有一个问题:

代码语言:javascript
复制
Uncaught Error: Bootstrap dropdown require Popper.js (https://popper.js.org)
    at eval (eval at webpackJsonp.../../../../script-loader/addScript.js.module.exports (addScript.js:9), <anonymous>:6:17548)
    at eval (eval at webpackJsonp.../../../../script-loader/addScript.js.module.exports (addScript.js:9), <anonymous>:6:23163)
    at eval (eval at webpackJsonp.../../../../script-loader/addScript.js.module.exports (addScript.js:9), <anonymous>:6:50902)
    at eval (<anonymous>)
    at webpackJsonp.../../../../script-loader/addScript.js.module.exports (addScript.js:9)
    at Object.../../../../script-loader/index.js!../../../../bootstrap/dist/js/bootstrap.min.js (bootstrap.min.js?f885:1)
    at __webpack_require__ (bootstrap a2f1d85ef068872b0530:54)
    at Object.2 (scripts.bundle.js:66)
    at __webpack_require__ (bootstrap a2f1d85ef068872b0530:54)
    at webpackJsonpCallback (bootstrap a2f1d85ef068872b0530:25)

我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-15 02:35:39

bootstrap.js之前包含popper.js

代码语言:javascript
复制
"scripts": [
  "node_modules/jquery/dist/jquery.slim.min.js",
  "node_modules/popper.js/dist/umd/popper.min.js",
  "node_modules/bootstrap/dist/js/bootstrap.min.js"
],
票数 135
EN

Stack Overflow用户

发布于 2019-07-09 19:28:29

当我将应用更新到Angular的8版本时,也出现了同样的问题。As解决方案可以使用自举捆绑包缩小的js文件代替bootstrap.min.js。引导包已经包含了popper.js。需要修复angular.json ( build部分中的scripts数组),最终将如下所示:

代码语言:javascript
复制
"scripts": [
    "./node_modules/jquery/dist/jquery.min.js",
    "./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
],

对于此解决方案,项目中不需要popper.js。可以删除此模块:

代码语言:javascript
复制
npm uninstall popper.js

以防万一,需要使用jquery :)

希望,帮助你

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45680644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档