Я пытаюсь реализовать раскрывающийся список начальной загрузки в моем компоненте Angular, но он не работает. Выпадающий список не открывается по клику, вместо этого я получаю консольные ошибки. Я попытался создать модальный бутстрап, и это тоже не сработало. При этом ошибок не было. Проведя небольшое исследование, я обнаружил, что мне нужно включить popper.js и bootstrap.min.js в мой файл project.json (nrwl эквивалентно angular.json). Я добавил его в "scripts"-массив:
"name": "nosi",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"projectType": "application",
"sourceRoot": "apps/nosi/src",
"prefix": "nosi",
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:browser",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/apps/nosi",
"index": "apps/nosi/src/index.html",
"main": "apps/nosi/src/main.ts",
"polyfills": "apps/nosi/src/polyfills.ts",
"tsConfig": "apps/nosi/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": ["apps/nosi/src/favicon.ico", "apps/nosi/src/assets"],
"styles": ["apps/nosi/src/styles.scss"],
"scripts": [
"../node_modules/bootstrap/dist/js/bootstrap.min.js",
"../node_modules/popper.js/dist/umd/popper.js"
]
},
Также я добавил bootstrap.min.css в свой файл styles.scss:
/* You can add global styles to this file, and also import other style files */
/* Importing Bootstrap SCSS file. */
@import '~bootstrap/scss/bootstrap';
@import '~bootstrap/dist/css/bootstrap.min.css';
@import '~bootstrap/dist/css/bootstrap.css';
Несмотря на эти изменения, мой раскрывающийся список все еще не работает.
Я использую последнюю версию Bootstrap 5.2.3 вместе с Angular 12.2.5. Кто-нибудь знает, что я делаю неправильно?





Я столкнулся с той же проблемой, но нашел решение: поскольку popper.js устарел, вместо этого вы должны использовать @popperjs/core. Более того, вы должны обратить внимание на порядок элементов в "scripts"-массиве в angular.json (подробнее об этом ниже).
Вот что в итоге сработало для меня:
npm i bootstrapnpm i @popperjs/coreangular.json, как вы можете видеть ниже:"styles": [
"node_modules/bootstrap/dist/css/bootstrap.css",
"src/styles.scss"
],
"scripts": [
"node_modules/@popperjs/core/dist/umd/popper.min.js",
"node_modules/bootstrap/dist/js/bootstrap.js"
]
Важный:
"script"-массиве должен быть таким, как показано здесь: сначала popper.min.js, затем bootstrap.js.node_modules в вашем проекте может не совпадать с моим (как я вижу, ваши пути начинаются с ../, поэтому вам нужно будет написать "../node_modules/@popperjs/core/dist/umd/popper.min. js" и др.).styles.scss, не нужен