Как добавить бутстрап в проект angular-cli

Мы хотим использовать bootstrap 4 (4.0.0-alpha.2) в нашем приложении, созданном с помощью angular-cli 1.0.0-beta.5 (w / node v6.1.0).

После получения начальной загрузки и ее зависимостей с помощью npm наш первый подход заключался в добавлении их в angular-cli-build.js:

'bootstrap/dist/**/*.min.+(js|css)',  
'jquery/dist/jquery.min.+(js|map)',  
'tether/dist/**/*.min.+(js|css)',

и импортируйте их в наш index.html

<script src="vendor/jquery/dist/jquery.min.js"></script>
<script src="vendor/tether/dist/js/tether.min.js"></script>
<link rel="stylesheet" type="text/css" href="vendor/bootstrap/dist/css/bootstrap.min.css">
<script src="vendor/bootstrap/dist/js/bootstrap.min.js"></script>

Это нормально работало с ng serve, но как только мы создали сборку с флагом -prod, все эти зависимости исчезли из dist/vendor (сюрприз!).

Как мы собираемся обрабатывать такой сценарий (например, загрузку сценариев начальной загрузки) в проекте, созданном с помощью angular-cli?

У нас были следующие мысли, но мы действительно не знаем, куда идти ...

  • использовать CDN? но мы бы предпочли предоставить эти файлы, чтобы гарантировать, что они будут доступны

  • скопировать зависимости в dist/vendor после нашего ng build -prod? Но это похоже на то, что angular-cli должен предоставить, поскольку он «заботится» о части сборки?

  • добавить jquery, bootstrap и tether в src/system-config.ts и каким-то образом втянуть их в наш пакет в main.ts? Но это казалось неправильным, учитывая, что мы не собираемся явно использовать их в коде нашего приложения (например, в отличие от moment.js или чего-то вроде lodash).


person Jerome    schedule 06.06.2016    source источник
comment
Есть ли они в вашем файле system-config.ts? вы должны нанести их на карту.   -  person mjwrazor    schedule 17.07.2016
comment
Многие из приведенных ниже ответов рекомендуют использовать ngx-bootstrap. Я обнаружил, что это не полная замена плагинов jquery Bootstrap, и иногда вам все равно нужно использовать эти собственные плагины jquery, такие как функциональность сворачивания в таблицах. В этом случае найдите один из ответов ниже, в котором объясняется, как явно импортировать скрипт jquery из файла .angular-cli.json.   -  person Christoph    schedule 30.10.2017


Ответы (39)


ВАЖНОЕ ОБНОВЛЕНИЕ: ng2-bootstrap теперь заменен на ngx-bootstrap

ngx-bootstrap поддерживает как Angular 3, так и 4.

Обновление: 1.0.0-beta.11-webpack или более поздние версии

Прежде всего проверьте свою версию angular-cli с помощью следующей команды в терминале:

ng -v

Если ваша версия angular-cli выше, чем 1.0.0-beta.11-webpack, выполните следующие действия:

  1. Установите ngx-bootstrap и bootstrap:

    npm install ngx-bootstrap bootstrap --save
    

Эта строка устанавливает Bootstrap 3 в настоящее время, но может установить Bootstrap 4 в будущем. Имейте в виду, что ngx-bootstrap поддерживает обе версии.

  1. Откройте src / app / app.module.ts и добавьте:

    import { AlertModule } from 'ngx-bootstrap';
    ...
    @NgModule({
    ...
    imports: [AlertModule.forRoot(), ... ],
    ... 
    })
    
  2. Откройте angular-cli.json (для angular6 и более поздних версий имя файла изменено на angular.json) и вставьте новую запись в массив styles:

    "styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css"
    ],
    
  3. Откройте src / app / app.component.html и добавьте:

    <alert type="success">hello</alert>
    

1.0.0-beta.10 или более ранние версии:

И, если ваша версия angular-cli 1.0.0-beta.10 или ниже, вы можете использовать следующие шаги.

Сначала перейдите в каталог проекта и введите:

npm install ngx-bootstrap --save

Затем откройте свой angular-cli-build.js и добавьте эту строку:

vendorNpmFiles: [
   ...
   'ngx-bootstrap/**/*.js',
   ...
]

Теперь откройте свой src / system-config.ts и напишите:

const map:any = {
   ...
   'ngx-bootstrap': 'vendor/ngx-bootstrap',
   ...
}

...а также:

const packages: any = {
  'ngx-bootstrap': {
    format: 'cjs',
    defaultExtension: 'js',
    main: 'ngx-bootstrap.js'
  }
};
person pd farhad    schedule 07.06.2016
comment
Что такое ng2-bootstrap. что означает добавление собственного начального загрузчика в angular 2? Извините, я запутался, посмотрел, но все еще не понимаю. почему я не могу предпринять те же шаги для загрузки начальной загрузки вместо использования сторонней программы ng2-bootstrap. - person mjwrazor; 16.07.2016
comment
@mjwrazor это потому, что бутстрап - это не только стили. это интерфейсный фреймворк. чтобы быть ясным, проверьте с помощью компонента оценки с помощью ng2-bootstrap и подумайте о коды, которые вы бы написали для его реализации. - person Ali Ghanavatian; 29.07.2016
comment
Отличный ответ, большое спасибо! Как я могу использовать scss / sass таким образом? - person sandrooco; 20.08.2016
comment
Я никогда не использовал scss / sass, но думаю, это было бы не так сложно. Кстати, если вы думаете, что это хороший ответ, не возражайте против него: D - person pd farhad; 20.08.2016
comment
github.com/ngCli/ng-cli/issues/18 любая помощь с этот выпуск я рад получить его - person Achuth hadnoor; 07.10.2016
comment
Небольшое замечание для будущих читателей: Angular CLI перешел с SystemJS на WebPack с beta.14. Этот ответ сейчас устарел, так как он предоставляет решение на основе SystemJS. - person jbandi; 10.11.2016
comment
Спасибо за идею использования ng2-bootstrap, здесь я нашел руководство по установке angular cli на странице github. github.com/valor- software / ng2-bootstrap / blob / development / docs / В моем случае отсутствовал вызов AlertModule.forRoot () при импорте. - person bruno.bologna; 27.12.2016
comment
У меня была такая же проблема с [email protected] & [email protected]. Следуя этим шагам с разницей в app.module.ts, мы ссылаемся не на ngx-bootstrap через 'ngx-bootstrap / ngx-bootstrap', а на 'ngx-bootstrap', как в этом примере по адресу github исправить мою проблему. - person Edmond; 24.06.2017
comment
Обратите внимание, что angular-cli.json теперь скрыт, поэтому вам нужно .angular-cli.json. Я подозреваю, что это означает, что есть способ лучше? - person Alesh Houdek; 12.08.2017
comment
Спасибо за такой ответ! К сожалению, я не могу загрузить с его помощью панели начальной загрузки. Но упомянутый вами пример предупреждения работает. Не могли бы вы помочь с этим, пожалуйста? - person Stack crawler; 18.02.2018
comment
Наконец-то хорошее решение. Не удалось найти angular-cli.json (angular-cli 6.1.1), поэтому я изменил файл angular.json, раздел стилей. Я добавил node_modules / bootstrap / dist / css / bootstrap.min.css - person Maludasek; 28.07.2018
comment
У меня сработало, хотя мне нужно было "./node_modules/bootstrap/dist/css/bootstrap.min.css" вместо "../node_modules/bootstrap/dist/css/bootstrap.min.css"! - person MWB; 27.04.2019

Поиск ключевого слова> Установка глобальной библиотеки на https://github.com/angular/angular-cli поможет вам найти ответ.

Согласно их документу, вы можете предпринять следующие шаги, чтобы добавить библиотеку Bootstrap.

Сначала установите Bootstrap из npm:

npm install bootstrap@next

Затем добавьте необходимые файлы скриптов в apps [0] .scripts в файле angular-cli.json:

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

Наконец, добавьте CSS Bootstrap в массив apps [0] .styles:

"styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.css"
    ],

Перезапустите службу, если вы ее используете, и Bootstrap 4 должен работать с вашим приложением.

Это лучшее решение. Но если вы не перезапустите ng serve, он никогда не сработает. Настоятельно рекомендуется сделать это последнее действие.

person Nelly Sattari    schedule 26.09.2016
comment
По мере того, как я печатаю, это единственное решение, в котором используется последняя версия angular-cli. - person freethebees; 01.11.2016
comment
Конечно, bootstrap.js НЕ нужен! Поскольку вы не хотите использовать для этого juqery bootstrap.js, вы должны установить директивы ng2 для начальной загрузки. - person Pascal; 12.11.2016
comment
Если вы действительно хотите использовать javascript начальной загрузки, а не только .css, вам также необходимо включить его зависимости в массив сценариев: ../node_modules/jquery/dist/jquery.slim.js, ../node_modules/tether /dist/js/tether.js, ../node/modules/bootstrap/dist/js/bootstrap.js - person Howard Swope; 16.03.2017
comment
Лучше использовать bootstrap.bundle.js в объявлении скриптов, в котором также есть popper.js. - person Dejazmach; 18.12.2017
comment
Чтобы сделать работу, не пропустите последний пункт, снова выполните ng serve. Также почему Angular CLI не может добавить это автоматически? Было бы хорошо, если бы у нас была такая возможность. - person Shaiju T; 13.02.2018
comment
Было бы целесообразно добавить уменьшенную версию ../node_modules/bootstrap/dist/css/bootstrap.min.css - person Praveen M P; 12.03.2018
comment
Вам также необходимо включить jQuery lib перед импортом bootstrap.js. - person Torsten Barthel; 10.12.2019

Сделайте следующее:

npm i bootstrap@next --save

Это добавит бутстрап 4 в ваш проект.

Затем перейдите в свой src/style.scss или src/style.css файл (выберите тот, который вы используете) и импортируйте туда загрузочную программу:

Для style.css

/* You can add global styles to this file, and also import other style files */
@import "../node_modules/bootstrap/dist/css/bootstrap.min.css";

Для style.scss

/* You can add global styles to this file, and also import other style files */
@import "../node_modules/bootstrap/scss/bootstrap";

Для скриптов вам все равно придется добавить файл в файл angular-cli.json, например, так (В Angular версии 6 это редактирование необходимо сделать в файле angular.json) < / em>:

"scripts": [
        "../node_modules/jquery/dist/jquery.js",
        "../node_modules/tether/dist/js/tether.js",
        "../node_modules/bootstrap/dist/js/bootstrap.js"
],
person mahatmanich    schedule 07.10.2016
comment
ИМХО это тоже отличный вариант, особенно с последними версиями angular-cli. Большим преимуществом является то, что этот метод не зависит от людей, обновляющих библиотеку из пакета npm, упомянутого в принятом ответе; кроме того, это также позволяет нам, возможно, переопределить переменные начальной загрузки с помощью SASS, не указывая напрямую на скомпилированные файлы CSS. - person martin; 17.11.2016
comment
Да, он чище и модульнее, поэтому я предпочитаю его! - person mahatmanich; 17.11.2016
comment
Этот doent работает для меня, любые предварительные условия, которым нужно следовать, я использую последнюю версию angular и bootstrap и добавил все вышеперечисленные изменения, не работал таким образом, но работал над добавлением ‹link rel = stylesheet type = text / css href = vendor / bootstrap /dist/css/bootstrap.min.css ›в index.html - person har_shit; 25.11.2016
comment
Это использует настройку cli! - person mahatmanich; 25.11.2016
comment
Только этот сработал для меня, я думаю, этот процесс должен быть более простым с использованием Angular-cli - person Pini Cheyni; 14.06.2017
comment
для style.scss мне пришлось добавить это: @import ../node_modules/bootstrap/dist/css/bootstrap.css; - person Akshay; 12.09.2017
comment
более чистый метод был бы @import '~ bootstrap / dist / css / bootstrap'; Использование знака ~ для импорта модуля прямо из папки node_modules. Здесь нашел объяснение: stackoverflow.com/questions/39535760/ - person A.I; 24.09.2017
comment
Что делать, если вы хотите использовать bootstrap 3? - person moshiuramit; 12.09.2018
comment
Лучше всего подходит для последних версий angular - person racar; 02.10.2018
comment
Обратите внимание, что @import '~bootstrap' достаточно. Webpack найдет node_modules/bootstrap/project.json, который содержит запись "style": "dist/css/bootstrap.css", которую Webpack будет использовать. Также обратите внимание, что этот файл CSS не минифицирован, что хорошо, поскольку файл CSS будет проходить через тот же конвейер, что и остальные файлы CSS приложения, которые будут уменьшены для производства, а также будет создана правильная исходная карта. - person Ivan; 12.04.2020

Сначала вам нужно установить tether, jquery и bootstrap с помощью этих команд

npm i -S tether
npm i -S jquery
npm i -S [email protected] 

После добавления этих строк в файл angular-cli.json (angular.json, начиная с версии 6 и далее)

  "styles": [
    "styles.scss",
    "../node_modules/bootstrap/scss/bootstrap-flex.scss"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.js",
    "../node_modules/tether/dist/js/tether.js",
    "../node_modules/bootstrap/dist/js/bootstrap.js"
  ]
person Alberto Viezzi    schedule 01.10.2016
comment
вы имели в виду $ projectRoot / .angular-cli.json? - person ; 27.04.2017

Поскольку никто еще не упоминал официальную историю (команда angular-cli) о том, как включить Bootstrap: https://github.com/angular/angular-cli/wiki/stories-include-bootstrap

Включите Bootstrap

Bootstrap - это популярный фреймворк CSS, который можно использовать в проекте Angular. Это руководство проведет вас через добавление начальной загрузки в проект Angular CLI и ее настройку для использования начальной загрузки.

Использование CSS

Начиная

Создайте новый проект и перейдите в проект

ng new my-app
cd my-app

Установка Bootstrap

После того, как новый проект создан и готов, вам нужно будет установить начальную загрузку для вашего проекта в качестве зависимости. Используя параметр --save, зависимость будет сохранена в package.json.

# version 3.x
npm install bootstrap --save

# version 4.x
npm install bootstrap@next --save

Настройка проекта

Теперь, когда проект настроен, его необходимо настроить для включения загрузочного CSS.

  • Откройте файл .angular-cli.json из корня вашего проекта.
  • Под свойством apps первый элемент в этом массиве является приложением по умолчанию.
  • Существует свойство styles, которое позволяет применять к вашему приложению внешние глобальные стили.
  • Укажите путь к bootstrap.min.css

Когда вы закончите, он должен выглядеть следующим образом:

"styles": [
        "../node_modules/bootstrap/dist/css/bootstrap.min.css",
        "styles.css"
      ],

Примечание. Когда вы вносите изменения в .angular-cli.json, вам нужно будет перезапустить ng serve, чтобы принять изменения конфигурации.

Тестовый проект

Откройте app.component.html и добавьте следующую разметку:

<button class="btn btn-primary">Test Button</button>

Настроив приложение, запустите ng serve, чтобы запустить приложение в режиме разработки. В браузере перейдите к приложению localhost:4200. Убедитесь, что отображается кнопка в стиле начальной загрузки.

Использование SASS

Начиная

Создайте новый проект и перейдите в проект

ng new my-app --style=scss
cd my-app

Установка Bootstrap

# version 3.x
npm install bootstrap-sass --save

# version 4.x
npm install bootstrap@next --save

Настройка проекта

Создайте пустой файл _variables.scss в src/.

Если вы используете bootstrap-sass, добавьте в _variables.scss следующее:

$icon-font-path: '../node_modules/bootstrap-sass/assets/fonts/bootstrap/';

В styles.scss добавить следующее:

// version 3
@import 'variables';
@import '../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap';

// version 4
@import 'variables';
@import '../node_modules/bootstrap/scss/bootstrap';

Тестовый проект

Откройте app.component.html и добавьте следующую разметку:

<button class="btn btn-primary">Test Button</button>

Настроив приложение, запустите ng serve, чтобы запустить приложение в режиме разработки. В браузере перейдите к приложению localhost:4200. Убедитесь, что отображается кнопка в стиле начальной загрузки. Чтобы убедиться, что ваши переменные используются, откройте _variables.scss и добавьте следующее:

$brand-primary: red;

Вернитесь в браузер, чтобы увидеть, как изменился цвет шрифта.

person tilo    schedule 26.05.2017
comment
Это решение не добавляет файлы javascript для начальной загрузки, только css - person Robin van der Knaap; 28.05.2017
comment
См. Другую историю: github.com/angular/angular-cli/wiki / stories-global-lib. В нем описывается добавление файлов сценария на примере начальной загрузки 4. - person Robin van der Knaap; 28.05.2017
comment
$brand-primary: red; у меня не сработало. Однако $primary: red;did! - person Johan Frick; 07.01.2018
comment
Спасибо за объяснение разницы между bootstrap и boostrap @ next :-) - person Venkatesh Muniyandi; 04.08.2018

Обновление v1.0.0-beta.26

Вы можете увидеть в документации новый способ импорта начальной загрузки здесь

Если по-прежнему не работает, перезапустите команду ng serve.

1.0.0 или более ранние версии:

В вашем файле index.html вам просто нужна ссылка bootstrap css (скрипты js не нужны)

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">

А также

npm install ng2-bootstrap --save
npm install moment --save

После установки ng2-bootstrap в my_project / src / system-config.ts :

/** Map relative paths to URLs. */
const map: any = {
  'moment': 'vendor/moment/moment.js',
  'ng2-bootstrap': 'vendor/ng2-bootstrap'
};

/** User packages configuration. */
const packages: any = {
  'ng2-bootstrap': {
    defaultExtension: 'js'
  },
  'moment':{
     format: 'cjs'
  }
};

И в my_project / angular-cli-build.js:

module.exports = function (defaults) {
return new Angular2App(defaults, {
    vendorNpmFiles: [
        'ng2-bootstrap/**/*',
        'moment/moment.js'
    ]
});
};

Не забудьте эту команду, чтобы добавить модуль к поставщику:

ng build

для импорта из другого модуля действует тот же принцип.

person Shigiang Liu    schedule 19.06.2016
comment
как это позволяет начальной загрузке использовать jquery? Я сделал это, и это не работает. - person mjwrazor; 17.07.2016
comment
наконец, пример нашел это, и это сработало. Какое-то время я не мог понять этого. - person mjwrazor; 17.07.2016

Шаги для Bootstrap 4 в Angular 5

  1. Создать проект Angular 5

    ng новый AngularBootstrapTest

  2. Перейти в каталог проекта

    cd AngularBootstrapTest

  3. Скачать bootstrap

    npm install bootstrap

  4. Добавить Bootstrap в проект

    4.1 открытый .angular-cli.json

    4.2 найдите раздел "стили" в json

    4.3 добавьте путь начальной загрузки css, как показано ниже

    .

    "styles": [
       "../node_modules/bootstrap/dist/css/bootstrap.min.css",
       "styles.css"
    ],
    

Теперь вы успешно добавили загрузочный css в проект angular 5.

Тестовая загрузка

  1. открыть src/app/app.component.html
  2. добавить компонент кнопки начальной загрузки

.

<button type="button" class="btn btn-primary">Primary</button>

вы можете сослаться на стили кнопок здесь (https://getbootstrap.com/docs/4.0/components/buttons/)

  1. сохраните файл

  2. запустить проект

    ng serve --open

Теперь вы увидите кнопку стиля начальной загрузки на странице

Примечание: если вы добавили путь начальной загрузки после ng serve, вы должны остановить и повторно запустить ng serve, чтобы отразить изменения.

person rashidnk    schedule 03.03.2018

  1. Установить бутстрап

    npm install bootstrap@next
    
  2. Добавьте код в .angular-cli.json:

    "styles": [
      "styles.css",
      "../node_modules/bootstrap/dist/css/bootstrap.css"
    ],
    "scripts": [
      "../node_modules/jquery/dist/jquery.js",
      "../node_modules/tether/dist/js/tether.js",
      "../node_modules/bootstrap/dist/js/bootstrap.js"
    ],
    
  3. Последний раз добавьте bootstrap.css в свой код style.scss

    @import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
    
  4. Перезагрузите локальный сервер

person Xjw919    schedule 25.04.2017
comment
Хотя ngx-bootstrap хорош для компонентов, которые он поддерживает, иногда вам все равно нужно использовать собственные плагины jquery, такие как функциональность сворачивания в таблицах. Тогда вам все равно нужно явно импортировать скрипт jquery, который показывает этот ответ. - person Christoph; 30.10.2017
comment
Проголосовали за пункт 4 (перезагрузите локальный сервер) Я использую --- ›npm install ngx-bootstrap bootstrap --save - person Palanikumar; 03.06.2020
comment
Порядок файлов имеет значение. - person Jijo Thomas; 03.05.2021

Я предполагаю, что вышеупомянутые методы изменились после выпуска, проверьте эту ссылку

https://github.com/valor-software/ng2-bootstrap/blob/development/docs/getting-started/ng-cli.md

начать проект

npm i -g angular-cli
ng new my-app
cd my-app
ng serve
npm install --save @ng-bootstrap/ng-bootstrap

установить ng-bootstrap и bootstrap

npm install ng2-bootstrap bootstrap --save

откройте src / app / app.module.ts и добавьте

import { AlertModule } from 'ng2-bootstrap/ng2-bootstrap';
...

@NgModule({
   ...
   imports: [AlertModule, ... ],
    ... 
})

откройте angular-cli.json и вставьте новую запись в массив стилей

"styles": [
        "styles.css",
        "../node_modules/bootstrap/dist/css/bootstrap.min.css"
      ],

откройте src / app / app.component.html и проверьте все, что работает, добавив

<alert type="success">hello</alert>
person shakram02    schedule 08.10.2016
comment
Метод от Ахмеда Хамди работает, по-видимому, сейчас произошло обновление кода. Обновил свое сообщение решением. - person ; 28.10.2016
comment
если вы хотите использовать Bootstrap 4, вам нужно изменить npm install ng2-bootstrap bootstrap --save БЫТЬ npm install ng2-bootstrap [email protected] --save .... не совсем очевидно в документации (выполните поиск 'card-' в bootstrap.css, чтобы узнать, сработало ли оно) ... обратите внимание, что в настоящее время это Alpha 6, это, несомненно, изменится ... проверьте сайт начальной загрузки, чтобы узнать текущую инструкцию npm - person 72GM; 25.01.2017

Поскольку это стало настолько запутанным, и ответы здесь полностью неоднозначны, я просто предлагаю использовать репозиторий официального ui-team для BS4 (да, таких репозиториев для NG-Bootstrap очень много.

Просто следуйте инструкциям здесь https://github.com/ng-bootstrap/ng-bootstrap получить BS4.

Цитата из библиотеки:

Эта библиотека создается с нуля командой ui-bootstrap. Мы используем TypeScript и ориентируемся на CSS-фреймворк Bootstrap 4.

Как и в случае с Bootstrap 4, эта библиотека находится в стадии разработки. Пожалуйста, ознакомьтесь с нашим списком проблем, чтобы увидеть все, что мы реализуем. Не стесняйтесь комментировать там.

Просто скопируйте вставку того, что там есть:

npm install --save @ng-bootstrap/ng-bootstrap

После установки вам необходимо импортировать наш основной модуль:

import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

Остается только указать импортированный модуль в вашем модуле приложения. Точный метод будет немного отличаться для корневого (верхнего уровня) модуля, для которого вы должны получить код, аналогичный (обратите внимание на NgbModule.forRoot ()):

import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

@NgModule({
  declarations: [AppComponent, ...],
  imports: [NgbModule.forRoot(), ...],  
  bootstrap: [AppComponent]
})
export class AppModule {
}

Другие модули в вашем приложении могут просто импортировать NgbModule:

import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

@NgModule({
  declarations: [OtherComponent, ...],
  imports: [NgbModule, ...], 
})
export class OtherModule {
}

Это кажется наиболее последовательным поведением на сегодняшний день.

person Jimmy Kane    schedule 10.06.2017

Сделайте следующие шаги:

  1. npm install --save bootstrap

  2. И в вашем .angular-cli.json добавьте в раздел стилей:

"styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.css"]

После этого вы должны перезапустить свою службу ng.

Наслаждаться

person Léger Djiba    schedule 11.09.2017

  1. Установите Bootstrap с помощью npm

    npm install bootstrap
    

2. Установите Popper.js

npm install --save popper.js

3. Найдите angular.json в проекте Angular 6 / .angular-cli.json в Angular 5 и добавьте перечисленное:

 "styles": [
          "node_modules/bootstrap/dist/css/bootstrap.css",
          "src/styles.css"
        ],

        "scripts": [
          "node_modules/popper.js/dist/umd/popper.min.js",
          "node_modules/bootstrap/dist/js/bootstrap.min.js"
        ]
person Konvivial    schedule 06.05.2018

2 простых шага


  1. Установите Bootstrap (устанавливаю последнюю версию)

npm install bootstrap@next
  1. Импортируйте в свой проект, добавьте строку ниже в свой styles.scss

@import '~bootstrap';

Обратите внимание, что ваш порядок импорта может иметь значение, если у вас есть другие библиотеки, которые используют загрузку, пожалуйста, держите этот оператор импорта вверху

Конец. :)


ПРИМЕЧАНИЕ: ниже мои версии


угловой: 9

узел: v10.16.0

npm: 6.9.1


person Mateen    schedule 27.07.2020

Выполнить эту команду

npm install bootstrap@3

ваш Angular.json

"styles": [
  "node_modules/bootstrap/dist/css/bootstrap.min.css",
  "src/styles.css"
],
person Vikas Katariya    schedule 01.04.2020

Откройте терминал / командную строку в соответствующем каталоге проекта и введите следующую команду.

npm install --save bootstrap

Затем откройте файл .angular-cli.json, найдите

"styles": [ "styles.css" ],

измените это на

 "styles": [
    "../node_modules/bootstrap/dist/css/bootstrap.min.css",
    "styles.css"
  ],

Все сделано.

person Raj Sahoo    schedule 06.05.2017

Вы также можете посмотреть это видео Майка Брокки, в котором есть полезная информация о том, как добавить начальную загрузку в ваш проект, созданный с помощью Angular-Cli. https://www.youtube.com/watch?v=obbdFFbjLIU (примерно минут 13 : 00)

person Nelly Sattari    schedule 26.09.2016

  1. Запустить в bash npm install ng2-bootstrap bootstrap --save
  2. Добавить / изменить следующее в angular-cli.json
    "styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css" ], "scripts": [ "../node_modules/jquery/dist/jquery.min.js", "../node_modules/bootstrap/dist/js/bootstrap.min.js" ],
person sree    schedule 18.10.2016

Попробуй это

npm install bootstrap@next

https://github.com/angular/angular-cli#global-library-installation

person neoerol    schedule 10.01.2017

Теперь с новой версией ng-bootstrap 1.0.0-beta.5 поддерживает большинство собственных директив Angular, основанных на разметке Bootstrap и CSS.

Единственная зависимость, необходимая для работы с этим, - bootstrap. Нет необходимости использовать зависимости jquery и popper.js.

ng-bootstrap полностью заменяет реализацию JavaScript для компонентов. Таким образом, вам не нужно включать bootstrap.min.js в раздел скриптов в вашем .angular-cli.json.

выполните следующие действия при интеграции начальной загрузки со сгенерированным проектом с последней версией angular-cli.

  • Включите bootstrap.min.css в свой .angular-cli.json, раздел стилей.

    "styles": [
       "styles.scss",
       "../node_modules/bootstrap/dist/css/bootstrap.min.css"
    ],
    
  • Установите зависимость ng-bootstrap.

    npm install --save @ng-bootstrap/ng-bootstrap
    
  • Добавьте это в свой основной класс модуля.

    import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
    
  • Включите следующее в раздел импорта основного модуля.

    @NgModule({
       imports: [NgbModule.forRoot(), ...],
    })
    
  • Если вы собираетесь использовать компоненты ng-bootstrap внутри этих классов модулей, сделайте следующее в своих подмодулях.

    import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
    
    @NgModule({
       imports: [NgbModule, ...],
    })
    
  • Теперь ваш проект готов использовать доступные компоненты ng-bootstrap.

person JLS    schedule 13.10.2017

  1. Установите bootstrap, popper.js

npm install --save bootstrap npm install --save popper.js

  1. В src / styles.css импортируйте стиль начальной загрузки

@import '~bootstrap/dist/css/bootstrap.min.css';

person oklm    schedule 26.07.2018

Выполните следующую команду внутри проекта

npm install --save @bootsrap@4

и если вы получите такое подтверждение

+ [email protected]
updated 1 package in 8.245s

Это означает, что boostrap 4 успешно установлен. Однако, чтобы использовать его, вам необходимо обновить массив "стилей" в файле angular.json.

Обновите его следующим образом, чтобы бутстрап мог переопределить существующие стили.

"styles": [
          "node_modules/bootstrap/dist/css/bootstrap.min.css",
           "src/styles.css"
          ],

Чтобы убедиться, что все настроено правильно, запустите ng serve > open browser at http://localhost:4200/ or a port you run the angular app > right click > inspect > under the head check the styles if you have bootsrap like shown below, затем можно использовать boostrap. введите здесь описание изображения

person Tadele Ayelegn    schedule 17.08.2018

Шаг 1:
npm install bootstrap@latest --save-dev Будет установлена ​​последняя версия программы начальной загрузки. Однако указанную версию можно установить, добавив номер версии.

Шаг 2. Откройте файл styles.css и добавьте следующий @import "~bootstrap/dist/css/bootstrap.css"

person kireeti9    schedule 03.01.2019
comment
В основном это текущий лучший ответ, кроме remove --save-dev. Поскольку вы хотите, чтобы начальная загрузка была развернута вместе с вашим приложением. - person Sydwell; 12.02.2019

Для добавления Bootstrap и JQuery

npm install bootstrap@3 jquery --save

после выполнения этой команды, пожалуйста, проверьте свою папку node_modules, вы должны увидеть, что в нее добавлены bootstrap и jquery.

person Alexander Zaldostanov    schedule 12.06.2019
comment
Круто, добавив JQuery. - person Surya R Praveen; 02.08.2019

Если вы только начали работать с angular и bootstrap, тогда простой ответ будет следующим: 1. Добавьте узел узла bootstrap в качестве зависимости разработчика.

npm install --save bootstrap
  1. импортировать таблицу стилей начальной загрузки в файл angular.json.

    "styles": [ "projects/my-app/src/styles.scss", "./node_modules/bootstrap/dist/css/bootstrap.min.css" ],

  2. и вы готовы использовать бутстрап для стилизации, сетки и т. д.

    <div class="container">My first bootstrap div</div>

Лучшее из того, что я обнаружил, - это то, что мы управляем с помощью начальной загрузки без какой-либо зависимости от сторонних модулей. Мы можем обновить начальную загрузку в любое время, просто обновив команду npm install --save [email protected] и т. Д.

person ichbinpradnya    schedule 23.12.2019

Я вижу, что многие решения больше не работают с новыми версиями Angular-CLI.

Вы можете попробовать добавить следующий тег ссылки вверху и теги скрипта внизу в свой app.component.html.

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">


<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>

Но если вы хотите использовать ngx-bootstrap, выполните следующую команду в каталоге вашего проекта

ng add ngx-bootstrap

Протестируйте это следующим образом в качестве содержимого вашего app.component.html

<button type="button" class="btn btn-outline-primary">Primary</button>
<button type="button" class="btn btn-outline-secondary">Secondary</button>
<button type="button" class="btn btn-outline-success">Success</button>
<button type="button" class="btn btn-outline-danger">Danger</button>
<button type="button" class="btn btn-outline-warning">Warning</button>
<button type="button" class="btn btn-outline-info">Info</button>
<button type="button" class="btn btn-outline-light">Light</button>
<button type="button" class="btn btn-outline-dark">Dark</button>
person Nishant Ingle    schedule 27.06.2020

для бутстрапа 4.5, угловой 10

npm install bootstrap --save

обновите свой файл styles.scss таким образом с помощью оператора импорта начальной загрузки.

 $theme-colors: (
    "primary":    #b867c6,
    "secondary":  #f3e5f5,
    "success":    #388e3c,
    "info":       #00acc1,
    "light":      #f3e5f5,
    "dark":       #863895
);

@import "~bootstrap";

@import url('https://fonts.googleapis.com/css2?family=Raleway&display=swap');

body {
    color: gray('800');
    background-color: theme-color('light');
    font-family: 'Raleway', sans-serif;
}

импорт начальной загрузки должен производиться после перезаписи вашей переменной. [в этом примере также показано, как можно использовать собственные цвета темы.]

person adnan2nd    schedule 24.08.2020

angular-cli теперь имеет специальную страницу вики, где вы можете найти все тебе нужно. TL; DR, установите bootstrap через npm и добавьте ссылку стилей в раздел "стили" в вашем .angular-cli.json файле.

person Claudiu Constantin    schedule 13.07.2017

Рабочий пример при использовании angular-cli и css:

1. установить бутстрап

npm install bootstrap tether jquery --save

2. добавить в .angular-cli.json

  "styles": [
    "../node_modules/bootstrap/dist/css/bootstrap.css"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.js",
    "../node_modules/tether/dist/js/tether.js",
    "../node_modules/bootstrap/dist/js/bootstrap.js"
  ],
person ilia    schedule 25.08.2017

установить boostrap с помощью npm

npm install boostrap@next --save

затем проверьте папку node_modules на наличие файла boostrap.css (в dist), обычно путь

"../node_modules/bootstrap/dist/css/bootstrap.css",

добавить этот путь | импортировать ускорение в style.css или style.scss

@import "../node_modules/bootstrap/dist/css/bootstrap.css";  //bootstrap
@import "~@angular/material/prebuilt-themes/indigo-pink.css // angular material theme

это оно.

person Chanaka Fernando    schedule 28.10.2017
comment
А как насчет помещения его в массив стилей angular-cli.json? Не обязательно? - person CodyBugstein; 30.10.2017
comment
Нет, в этом нет необходимости. поскольку мы включаем в этот массив наш файл style.css. мы можем импортировать другие файлы css в наш style.css или style.scss @import ~@angular/material/prebuilt-themes/indigo-pink.css; @import ../node_modules/bootstrap/dist/css/bootstrap.css; - person Chanaka Fernando; 31.10.2017
comment
А, ладно .. но я думаю, что включение в angular-cli.json, наверное, лучше - person CodyBugstein; 01.11.2017
comment
@CodyBugstein Я не уверен, что лучше добавить его в .angular-cli.json. Вот несколько причин, по которым вы можете захотеть добавить импорт в свой файл styles.scss: 1) Вы можете легко применить тему начальной загрузки, такую ​​как пример Bootswatch здесь: github.com/thomaspark/bootswatch 2) Редактирование файлов .json сложнее, чем редактирование файлов .scss, потому что файлы .json не допускают комментариев и 3) новые разработчики могут искать в styles.scss в качестве отправной точки для всего CSS, а не на .angular-cli.json. - person Keith; 04.04.2018

Не видел вот этого:

@import 'bootstrap/scss/bootstrap.scss';

Я просто добавил эту строку в style.scss. В моем случае я также хотел переопределить переменные начальной загрузки.

person Andris    schedule 11.06.2019

У вас есть много способов добавить Bootstrap 4 в свой проект Angular:

  • Включение файлов Bootstrap CSS и JavaScript в раздел файла index.html вашего проекта Angular с тегами и,

  • Импорт файла CSS Bootstrap в глобальный файл styles.css вашего проекта Angular с ключевым словом @import.

  • Добавление файлов Bootstrap CSS и JavaScript в массивы стилей и скриптов файла angular.json вашего проекта

person Farid Rajab    schedule 05.02.2020

вы можете установить начальную загрузку в angular с помощью команды npm install bootstrap.

и следующий путь начальной загрузки в angular.json файле и style.css файле.

вы можете прочитать полный блог о том, как установить и настроить bootstrap в angular, нажмите здесь, чтобы прочитать об этом блог полностью

person Bhavesh Ajani    schedule 20.05.2020

Обновлено август-2020: Angular 10

Если у вас есть проект CLI для Angular ≥ 9, вы можете просто использовать наши схемы, чтобы добавить к нему библиотеку ng-bootstrap. Просто запустите следующую команду в папке вашего проекта. Все конфигурации будут добавлены автоматически.

ng add @ng-bootstrap/ng-bootstrap

ng s

Примеры фрагментов:

import {Component} from '@angular/core';

@Component({selector: 'ngbd-alert-basic', templateUrl: './alert-basic.html'})
export class NgbdAlertBasic {
}

<p>
  <ngb-alert [dismissible]="false">
    <strong>Warning!</strong> Better check yourself, you're not looking too good.
  </ngb-alert>
</p>

person Santosh    schedule 22.08.2020

Рабочий пример в случае использования angular-cli:

npm i bootstrap-schematics
ng generate bootstrap-shell -c bootstrap-schematics -v 4
npm install

Работает для css и scss. Доступны версии Bootstrap v3 и v4.

Дополнительную информацию о схемах начальной загрузки можно найти здесь.

person Slupek    schedule 16.04.2018

Установите начальную загрузку с помощью npm i --save bootstrap@version. Теперь перейдите в папку nodemodules и из папки начальной загрузки скопируйте путь к 'bootstrap.min.css.js' и вставьте полный путь (например, nodemodules/bootstrap/css/bootstrap.min.css.js) в angular.json под файлом тега сценария и повторно запустите сервер и чтобы проверить, успешна ли установка, запустите программу в любом браузере, который вам нравится, и нажмите F12, вы обнаружите, что часть окна открывается, теперь перейдите на вкладку элементов, откройте тег заголовка, и если вы видите bootstrap в теге стиля, то ваша установка успешно.

person Alekya    schedule 30.07.2018

Неважно, какой JS-фреймворк вы используете, импортировать начальную загрузку в ваш проект легко, выполнив 2 шага ниже:

Установите бутстрап, используя npm i -S bootstrap или yarn add bootstrap.

В styles.css или styles.scss импортируйте начальную загрузку как @import '~bootstrap/dist/css/bootstrap.min.css'.

person Srinivas    schedule 19.10.2018

Просто добавьте эти три строки в тег Head в index.html.

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
person tejeswar    schedule 03.11.2018
comment
index.html позаботится обо всем. и это похоже на добавление начальной загрузки на обычную страницу html - person tejeswar; 04.11.2018

Добавьте это в свой файл styles.css

@import "~bootstrap/dist/css/bootstrap.css";
person manikandan    schedule 08.08.2020

Хорошие новости! По сути, Bootstrap 5 теперь можно легко реализовать, и вам даже не нужен jQuery.
Просто запустите на своем терминале

npm install bootstrap@next --save

Итак, Angular использует веб-пакет, поэтому в вашем app.module.ts просто добавьте:

import "bootstrap";

Или, если вы хотите импортировать их отдельно, сделайте это так:

import { ModuleToBeImported } from 'bootstrap';

Затем в свой файл styles.scss добавьте:

@import '~bootstrap/scss/bootstrap';

В основном это все, НО имейте в виду, что для некоторых компонентов требуется popper.js. Компоненты, требующие js начальной загрузки. Здесь вы увидите компоненты, зависящие от popper.js, которые на момент написания были раскрывающимися списками для отображения и позиционирования, а также всплывающими подсказками и всплывающими окнами для отображения и позиционирования.

Поэтому, чтобы установить popper.js, просто запустите:

npm install @popperjs/core

Справочник

person Bread Gang    schedule 31.12.2020