Setting up an Angular 8 Application using Bootstrap
First create the new application:
C:\src\Angular>ng new bootstrap-demo ? Would you like to add Angular routing? Yes ? Which stylesheet format would you like to use? CSS CREATE bootstrap-demo/angular.json (3657 bytes) CREATE bootstrap-demo/package.json (1288 bytes) CREATE bootstrap-demo/README.md (1030 bytes) CREATE bootstrap-demo/tsconfig.json (543 bytes) CREATE bootstrap-demo/tslint.json (1988 bytes) CREATE bootstrap-demo/.editorconfig (246 bytes) CREATE bootstrap-demo/.gitignore (631 bytes) CREATE bootstrap-demo/browserslist (429 bytes) CREATE bootstrap-demo/karma.conf.js (1026 bytes) CREATE bootstrap-demo/tsconfig.app.json (270 bytes) CREATE bootstrap-demo/tsconfig.spec.json (270 bytes) CREATE bootstrap-demo/src/favicon.ico (948 bytes) CREATE bootstrap-demo/src/index.html (299 bytes) CREATE bootstrap-demo/src/main.ts (372 bytes) CREATE bootstrap-demo/src/polyfills.ts (2838 bytes) CREATE bootstrap-demo/src/styles.css (80 bytes) CREATE bootstrap-demo/src/test.ts (642 bytes) CREATE bootstrap-demo/src/assets/.gitkeep (0 bytes) CREATE bootstrap-demo/src/environments/environment.prod.ts (51 bytes) CREATE bootstrap-demo/src/environments/environment.ts (662 bytes) CREATE bootstrap-demo/src/app/app-routing.module.ts (246 bytes) CREATE bootstrap-demo/src/app/app.module.ts (393 bytes) CREATE bootstrap-demo/src/app/app.component.html (25530 bytes) CREATE bootstrap-demo/src/app/app.component.spec.ts (1122 bytes) CREATE bootstrap-demo/src/app/app.component.ts (218 bytes) CREATE bootstrap-demo/src/app/app.component.css (0 bytes) CREATE bootstrap-demo/e2e/protractor.conf.js (810 bytes) CREATE bootstrap-demo/e2e/tsconfig.json (214 bytes) CREATE bootstrap-demo/e2e/src/app.e2e-spec.ts (647 bytes) CREATE bootstrap-demo/e2e/src/app.po.ts (262 bytes) > core-js@2.6.9 postinstall C:\src\Angular\bootstrap-demo\node_modules\babel-runtime\node_modules\core-js > node scripts/postinstall || echo "ignore" > core-js@3.2.1 postinstall C:\src\Angular\bootstrap-demo\node_modules\core-js > node scripts/postinstall || echo "ignore" > core-js@2.6.9 postinstall C:\src\Angular\bootstrap-demo\node_modules\karma\node_modules\core-js > node scripts/postinstall || echo "ignore" > @angular/cli@8.3.8 postinstall C:\src\Angular\bootstrap-demo\node_modules\@angular\cli > node ./bin/postinstall/script.js npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\webpack-dev-server\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\watchpack\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\karma\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\@angular\compiler-cli\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.0 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.0: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) added 1188 packages from 1051 contributors and audited 18849 packages in 135.885s found 0 vulnerabilities warning: LF will be replaced by CRLF in .editorconfig. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in .gitignore. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in README.md. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in angular.json. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in browserslist. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in e2e/protractor.conf.js. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in e2e/src/app.e2e-spec.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in e2e/src/app.po.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in e2e/tsconfig.json. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in karma.conf.js. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in package-lock.json. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in package.json. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/app/app-routing.module.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/app/app.component.html. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/app/app.component.spec.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/app/app.component.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/app/app.module.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/environments/environment.prod.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/environments/environment.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/index.html. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/main.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/polyfills.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/styles.css. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in src/test.ts. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in tsconfig.app.json. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in tsconfig.json. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in tsconfig.spec.json. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in tslint.json. The file will have its original line endings in your working directory Successfully initialized git.
Install bootstrap
C:\src\Angular\bootstrap-demo>npm install bootstrap@latest npm WARN bootstrap@4.3.1 requires a peer of jquery@1.9.1 - 3 but none is installed. You must install peer dependencies yourself. npm WARN bootstrap@4.3.1 requires a peer of popper.js@^1.14.7 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\webpack-dev-server\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\watchpack\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\karma\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\@angular\compiler-cli\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.0 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.0: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) + bootstrap@4.3.1 added 1 package from 2 contributors and audited 18850 packages in 16.982s found 0 vulnerabilities
Configure angular.json
In angular.json:
"styles": [ "node_modules/bootstrap/dist/css/bootstrap.min.css", "src/styles.css" ],
Add ngx-bootstrap
npm install ngx-bootstrap --save
bootstrap-demo$ npm install ngx-bootstrap --save npm WARN bootstrap@4.3.1 requires a peer of jquery@1.9.1 - 3 but none is installed. You must install peer dependencies yourself. npm WARN bootstrap@4.3.1 requires a peer of popper.js@^1.14.7 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/webpack-dev-server/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/watchpack/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/karma/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/@angular/compiler-cli/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.0 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.0: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + ngx-bootstrap@5.1.2 added 1 package from 1 contributor and audited 18851 packages in 29.993s found 0 vulnerabilities plh@Hades:/mnt/c/src/Angular/
Adding the required Bootstrap modules in app.module.ts
import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; import { TooltipModule } from 'ngx-bootstrap/tooltip'; import { ModalModule } from 'ngx-bootstrap/modal'; @NgModule({ imports: [ BrowserModule, BsDropdownModule.forRoot(), TooltipModule.forRoot(), ModalModule.forRoot() ], // ... }) export class AppBootstrapModule {}