Как добавить bootstrap в проект angular-cli
мы хотим использовать bootstrap 4 (4.0.0-alpha.2) в нашем приложении генерируется с помощью angular-cli 1.0.0-beta.5 (Вт/ узел В6.1.0).
после получения bootstrap и его зависимостей с 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.ТС ? Но это казалось неправильным, учитывая, что мы не будем явно использовать их в коде нашего приложения (в отличие от момента.js или что-то вроде lodash, например)
24 ответов
ВАЖНОЕ ОБНОВЛЕНИЕ: ng2-bootstrap заменен на фабриката необходмо предусмотреть-загрузочный
фабриката необходмо предусмотреть-загрузочный поддерживает как угловые 3 и 4.
обновление : 1.0.0-бета.11-webpack или выше версии
прежде всего проверьте свой угловой-cli версия со следующей командой в терминале:
ng -v
если угловой-cli версия больше 1.0.0-бета.11-webpack, затем вы должны выполнить следующие шаги:
-
установить фабриката необходмо предусмотреть-загрузочный и загрузки:
npm install ngx-bootstrap bootstrap --save
эта строка устанавливает Bootstrap 3 в настоящее время, но может установить Bootstrap 4 в будущем. Имейте в виду фабриката необходмо предусмотреть-загрузочный поддерживает обе версии.
-
открыть src / app / app.модуль.ТС и добавить:
import { AlertModule } from 'ngx-bootstrap'; ... @NgModule({ ... imports: [AlertModule.forRoot(), ... ], ... })
-
открыть угловой-cli.в JSON и вставьте новую запись в
styles
время:"styles": [ "styles.css", "../node_modules/bootstrap/dist/css/bootstrap.min.css" ],
-
открыть src / app / app.деталь.HTML-код и добавить:
<alert type="success">hello</alert>
1.0.0-бета.10 или ниже версий:
и, если ваш угловой-cli версия 1.0.0-бета.10 или ниже, то вы можете использовать ниже лестница.
сначала перейдите в каталог проекта и введите:
npm install ngx-bootstrap --save
затем откройте угловая-cli-сборка.js и добавить эту строку:
vendorNpmFiles: [
...
'ngx-bootstrap/**/*.js',
...
]
откройте src / system-config.ТС потом пишем:
const map:any = {
...
'ngx-bootstrap': 'vendor/ngx-bootstrap',
...
}
...и:
const packages: any = {
'ngx-bootstrap': {
format: 'cjs',
defaultExtension: 'js',
main: 'ngx-bootstrap.js'
}
};
Поиск ключевого слова > установка глобальной библиотеки на https://github.com/angular/angular-cli помогает вам найти ответ.
согласно их документу, вы можете предпринять следующие шаги, чтобы добавить библиотеку начальной загрузки.
Сначала установите Bootstrap из npm:
npm install bootstrap@next
затем добавьте необходимые файлы скриптов в приложения[0].скрипты в angular-cli.файл json:
"scripts": [
"../node_modules/bootstrap/dist/js/bootstrap.js"
],
наконец, добавьте css Bootstrap в приложения[0].стили массив:
"styles": [
"styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.css"
],
перезапустите ng serve, если вы его используете, и Bootstrap 4 должен работать над вашим приложением.
Это лучшее решение. Но если вы не перезапустить ng служить он никогда не работает. Настоятельно рекомендуется сделать это последнее действие.
сделать следующее:
npm i bootstrap@next --save
это добавит bootstrap 4 в ваш проект.
Далее перейдите к вашему src/style.scss
или src/style.css
file (выберите то, что вы используете) и импортируйте bootstrap там:
для стиля.в CSS
/* You can add global styles to this file, and also import other style files */
@import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
для стиля.scss
/* You can add global styles to this file, and also import other style files */
@import "../node_modules/bootstrap/scss/bootstrap";
для скриптов вам все равно придется добавить файл в angular-cli.файл json так (в угловой версии 6 это редактирование должно быть сделано в файле угловое.в JSON):
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
],
сначала вам нужно установить tether, jquery и bootstrap с помощью этих команд
npm i -S tether
npm i -S jquery
npm i -S bootstrap@4.0.0-alpha.4
после добавления этих строк в angular-cli.json (angular.json начиная с версии 6) file
"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"
]
обновление v1.0.0-бета.26
вы можете увидеть на doc для нового способа импорта bootstrap здесь
если он все еще не работает, перезапустите с помощью команды ng serve
1.0.0 или ниже версий:
в свой индекс.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.ТС :
/** 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
импортировать из другого модуля, который является тем же принципом.
поскольку никто не ссылался на официальную (angular-cli team) историю о том, как включить Bootstrap:https://github.com/angular/angular-cli/wiki/stories-include-bootstrap
включить загрузки
загрузки - популярная структура CSS, которая может использоваться в угловом проекте. Это руководство поможет вам добавить bootstrap в проект Angular CLI и настроить его для использования загрузчик.
использование CSS
Начало Работы
создать новый проект и перейдите в проект
ng new my-app
cd my-app
Установка Bootstrap
С новым проектом, созданным и готовым, вам нужно будет установить bootstrap в свой проект в качестве зависимости.
С помощью --save
опция зависимость будет сохранена в пакете.в 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
.
Проверьте кнопку в стиле bootstrap кажется.
использование 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
.
Убедитесь, что появляется кнопка в стиле bootstrap.
Чтобы убедиться, что ваши переменные используются open _variables.scss
и добавить следующее:
$brand-primary: red;
верните браузер, чтобы увидеть цвет шрифта изменен.
Я думаю, что вышеуказанные методы изменились после выпуска, проверьте эту ссылку
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.модуль.TS и добавить
import { AlertModule } from 'ng2-bootstrap/ng2-bootstrap';
...
@NgModule({
...
imports: [AlertModule, ... ],
...
})
открыть угловой-cli.JSON и вставить новая запись в массив стилей
"styles": [
"styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.min.css"
],
открыть src / app / app.деталь.html и проверить все работы, добавив
<alert type="success">hello</alert>
поскольку это стало настолько запутанным, и ответы здесь полностью смешаны, я просто предложу пойти с официальный ui-team для BS4 repo (да, есть так много этих репозиториев для ng-Bootstrap.
просто следуйте инструкциям здесь https://github.com/ng-bootstrap/ng-bootstrap чтобы получить BS4.
цитата из lib:
эта библиотека создается с нуля командой UI-bootstrap. Мы использующийся TypeScript и таргетинг на фреймворк Bootstrap 4 CSS.
как и в Bootstrap 4, Эта библиотека находится в процессе работы. Пожалуйста, проверьте из нашего списка вопросов, чтобы увидеть все, что мы реализуем. Чувствовать свободно делать комментарии там.
просто скопируйте вставку, что есть ради этого:
npm install --save @ng-bootstrap/ng-bootstrap
после установки вам необходимо импортировать наш основной модуль:
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
единственная оставшаяся часть в список импортируемых модулей в модуль приложения. Точный метод будет немного отличаться для корневого (верхнего уровня) модуля, для которого вы должны получить код, подобный (notice 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 {
}
это, кажется, наиболее последовательное поведение на сегодняшний день
шаги для начальной загрузки 4 в Angular 5
-
Создать Угловой 5 Проект
НГ новый AngularBootstrapTest
-
переместить в папку проекта
cd AngularBootstrapTest
-
скачать bootstrap
npm установить bootstrap
-
добавить Bootstrap в Проект
4.1 открытым .угловой-cli.в JSON
4.2 найдите раздел "стили" в json
4.3 добавьте путь css начальной загрузки, как показано ниже
.
"styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.css" ],
теперь вы успешно добавили загрузочный css в angular 5 project
проверить загрузчик
- открыть
src/app/app.component.html
- добавить кнопку загрузки компонент
.
<button type="button" class="btn btn-primary">Primary</button>
вы можете ссылаться на стили кнопок здесь (https://getbootstrap.com/docs/4.0/components/buttons/ )
сохраните файл
-
запустить проект
ng служить --открыть
теперь вы увидите кнопку bootstrap style на странице
Примечание. : если вы добавили путь начальной загрузки после НГ служить, вы должны остановить и перезапустить ng служить, чтобы отразить изменения
выполните следующие действия:
npm install --save bootstrap
и в вашем .угловой-cli.json, добавить в раздел стили:
"styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.css"]
после этого вы должны перезапустить ng serve
наслаждайтесь
-
установить bootstrap
npm install bootstrap@next
2.Добавить код .угловой-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"
],
-
последнее добавление bootstrap.CSS для вашего стиля кода.scss
@import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
перезагрузите локальный сервер
попробуй такое
npm install bootstrap@next
https://github.com/angular/angular-cli#global-library-installation
вы также можете посмотреть это видео Майка Брокки, в котором есть полезная информация о том, как добавить bootstrap в ваш проект, созданный Angular-Cli. https://www.youtube.com/watch?v=obbdFFbjLIU (около минуты 13:00)
- работать в bash
npm install ng2-bootstrap bootstrap --save
- добавить / изменить следующее в
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" ],
новые ng-bootstrap 1.0.0-beta.5 версия поддерживает большинство собственных угловых директив, основанных на разметке Bootstrap и CSS.
единственная зависимость, необходимая для работы с этим, -bootstrap
. Нет необходимости использовать в jQuery и поппер.js зависимостей.
ng-bootstrap должен полностью заменить реализацию JavaScript для компонентов. Поэтому вам не нужно включать bootstrap.min.js
в разделе скрипты .угловой-cli.формат JSON.
выполните следующие действия при интеграции bootstrap с сгенерированным проектом с последней версией angular-cli.
-
Inculde
bootstrap.min.css
в свой .угловой-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.
откройте терминал / командную строку в соответствующем каталоге проекта и введите следующую команду.
npm install --save bootstrap
открыть .угловой-cli.файл json, ищите
"styles": [
"styles.css"
],
изменить на
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
все сделали.
angular-cli
теперь имеет выделенный страница wiki где вы можете найти все, что вам нужно. Прям, установить bootstrap
via npm
и добавьте ссылку стили в раздел "стили" в вашем
рабочий пример в случае использования angular-cli и css:
1.установить bootstrap
npm установить bootstrap tether jquery --save
2.добавить.угловой-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"
],
установить boostrap с помощью npm
npm install boostrap@next --save
затем проверьте папку node_modules для boostrap.css-файл (в пределах dist) обычно путь
"../node_modules/bootstrap/dist/css/bootstrap.css",
добавить такой путь | импорт boostrap в стиле.CSS или стиль.scss
@import "../node_modules/bootstrap/dist/css/bootstrap.css"; //bootstrap
@import "~@angular/material/prebuilt-themes/indigo-pink.css // angular material theme
вот именно.
- установите bootstrap, popper.js
npm install --save bootstrap
npm install --save popper.js
- на в src/стили.в CSS, импорт стиля bootstrap
@import '~bootstrap/dist/css/bootstrap.min.css';
рабочий пример в случае использования angular-cli:
npm i bootstrap-schematics
ng generate bootstrap-shell -c bootstrap-schematics -v 4
npm install
работает для css и scss. Bootstrap v3 и v4 доступны.
дополнительная информация о bootstrap-schematics пожалуйста, найдите здесь.
-
установите Bootstrap с помощью npm
npm install bootstrap
2.Установить Popper.js
npm install --save popper.js
3.Гото!--12-->угловое.в JSON в проекте Angular 6/.угловой-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"
]
выполните следующую команду внутри проекта
npm install --save @bootsrap@4
и если вы получите подтверждение такой
+ bootstrap@4.1.3
updated 1 package in 8.245s
это означает, что boostrap 4 успешно установлен. Однако, чтобы использовать его, вам нужно обновить массив "стили" под угловым.файл json.
обновите его следующим образом, чтобы bootstrap смог переопределить существующие стили
"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.
установите bootstrap с помощью npm i --save bootstrap@version
.Теперь перейдите в папку nodemodules и из папки bootstrap скопируйте путь ' bootstrap.минута.стиль CSS.Яш' и вставьте полный путь(например,nodemodules/bootstrap/css/bootstrap.min.css.js
) в angular.json
в разделе файл тега скрипта и повторно запустите сервер и проверьте, успешна ли установка запустите программу в любом браузере, который вам нравится, и нажмите F12 вы найдете часть окна открывается, Теперь перейдите на вкладку элементы открыть тег головы и если вы видите bootstrap в теге стиля,то ваша установка успешный.