Подтвердить что ты не робот

Angular 4 В раскрывающемся списке Bootstrap требуется Popper.js

У меня есть новое созданное приложение Angular 4 CLI. После выполнения этого:

npm install [email protected] jquery popper.js --save

и редактирование .angular-cli.json вот так:

"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:

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)

Как это исправить?

4b9b3361

Ответ 1

Включить popper.js до bootstrap.js:

"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",
],

Ответ 2

Для угловых 7

npm установить загрузчик jquery popper.js --save

       "styles": [
          "src/styles.scss",
          "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"
        ],

Ответ 3

Была та же проблема, когда я обновил приложение до 8 версии Angular. В качестве решения можно использовать уменьшенный js файл начальной загрузки пакета bootstrap.min.js. В комплект Bootstrap уже включен popper.js. Нужно исправить angular.json (массив scripts в разделе build), в финале будет что-то вроде этого:

"scripts": [
    "./node_modules/jquery/dist/jquery.min.js",
    "./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
],

Для этого решения popper.js не нужен в проекте. Можно удалить этот модуль:

npm uninstall popper.js

на всякий случай нужен jquery :)

Надеюсь, вам поможет