example - install bootstrap angular 5
¿Cómo usar Bootstrap en un proyecto angular? (18)
Estoy iniciando mi primera aplicación angular y mi configuración básica está lista.
¿Cómo puedo agregar Bootstrap a mi aplicación?
Si puede proporcionar un ejemplo, sería de gran ayuda.
- npm install --save bootstrap
-
vaya a -> archivo angular-cli.json , encuentre propiedades de estilos y simplemente agregue la siguiente picadura: "../node_modules/bootstrap/dist/css/bootstrap.min.css", podría verse así:
"styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.css" ],
En un entorno angular-cli, la forma más directa que he encontrado es la siguiente:
1. Solución en un entorno con hojas de estilo s̲c̲s̲s̲
npm install bootstrap-sass —save
En style.scss:
$icon-font-path: ''~bootstrap-sass/assets/fonts/bootstrap/'';
@import ''~bootstrap-sass/assets/stylesheets/bootstrap'';
Nota 1: El carácter
~
es una referencia a la carpeta
node_modules
.
Nota 2: Como estamos usando scss, podemos personalizar todas las variables de arranque que queramos.
2. Solución en un entorno con hojas de estilo c̲s̲s̲
npm install bootstrap —save
En style.css:
@import ''~bootstrap/dist/css/bootstrap.css'';
Estaba buscando la misma respuesta y finalmente encontré este enlace. Puede encontrar explicadas tres formas diferentes de cómo agregar bootstrap css en su proyecto angular 2. Me ayudó.
Aquí está el enlace: http://codingthesmartway.com/using-bootstrap-with-angular/
Hay varias formas de configurar angular2 con Bootstrap, una de las formas más completas de aprovecharlo al máximo es usar ng-bootstrap, utilizando esta configuración le damos a algular2 un control completo sobre nuestro DOM, evitando la necesidad de usar JQuery y Boostrap .js.
1-Tome como punto de partida un nuevo proyecto creado con Angular-CLI y usando la línea de comando, instale ng-bootstrap:
npm install @ng-bootstrap/ng-bootstrap --save
Nota: Más información en https://ng-bootstrap.github.io/#/getting-started
2-Entonces necesitamos instalar bootstrap para el sistema CSS y el grid.
npm install [email protected] --save
Nota: Más información en https://getbootstrap.com/docs/4.0/getting-started/download/
Ahora tenemos la configuración del entorno y para eso tenemos que cambiar el .angular-cli.json agregando al estilo:
"../node_modules/bootstrap/dist/css/bootstrap.min.css"
Aquí hay un ejemplo:
"apps": [
{
"root": "src",
...
],
"index": "index.html",
...
"prefix": "app",
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
]
El siguiente paso es agregar el módulo ng-boostrap a nuestro proyecto, para hacerlo necesitamos agregar en app.module.ts:
import { NgbModule } from ''@ng-bootstrap/ng-bootstrap'';
Luego agregue el nuevo módulo a la aplicación de aplicación: NgbModule.forRoot ()
Ejemplo:
@NgModule({
declarations: [
AppComponent,
AppNavbarComponent
],
imports: [
BrowserModule,
NgbModule.forRoot()
],
providers: [],
bootstrap: [AppComponent]
})
Ahora podemos comenzar a usar bootstrap4 en nuestro proyecto angular2 / 5.
La opción más popular es usar alguna biblioteca de terceros distribuida como paquete npm como el proyecto ng2-bootstrap https://github.com/valor-software/ng2-bootstrap o la biblioteca Bootstrap Angular UI.
Yo personalmente uso ng2-bootstrap. Hay muchas formas de configurarlo, porque la configuración depende de cómo se construya su proyecto Angular. Debajo publico una configuración de ejemplo basada en el proyecto Angular 2 QuickStart https://github.com/angular/quickstart
En primer lugar, agregamos dependencias en nuestro paquete.json
{ ...
"dependencies": {
"@angular/common": "~2.4.0",
"@angular/compiler": "~2.4.0",
"@angular/core": "~2.4.0",
...
"bootstrap": "^3.3.7",
"ng2-bootstrap": "1.1.16-11"
},
... }
Luego tenemos que asignar nombres a las URL adecuadas en systemjs.config.js
(function (global) {
System.config({
...
// map tells the System loader where to look for things
map: {
// our app is within the app folder
app: ''app'',
// angular bundles
''@angular/core'': ''npm:@angular/core/bundles/core.umd.js'',
''@angular/common'': ''npm:@angular/common/bundles/common.umd.js'',
''@angular/compiler'': ''npm:@angular/compiler/bundles/compiler.umd.js'',
''@angular/platform-browser'': ''npm:@angular/platform-browser/bundles/platform-browser.umd.js'',
''@angular/platform-browser-dynamic'': ''npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js'',
''@angular/http'': ''npm:@angular/http/bundles/http.umd.js'',
''@angular/router'': ''npm:@angular/router/bundles/router.umd.js'',
''@angular/forms'': ''npm:@angular/forms/bundles/forms.umd.js'',
//bootstrap
''moment'': ''npm:moment/bundles/moment.umd.js'',
''ng2-bootstrap'': ''npm:ng2-bootstrap/bundles/ng2-bootstrap.umd.js'',
// other libraries
''rxjs'': ''npm:rxjs'',
''angular-in-memory-web-api'': ''npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js''
},
...
});
})(this);
Tenemos que importar el archivo bootstrap .css en index.html. Podemos obtenerlo del directorio / node_modules / bootstrap en nuestro disco duro (porque agregamos la dependencia de bootstrap 3.3.7) o de la web. Ahí lo estamos obteniendo de la web:
<!DOCTYPE html>
<html>
<head>
...
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
...
</head>
<body>
<my-app>Loading...</my-app>
</body>
</html>
Deberíamos editar nuestro archivo app.module.ts del directorio / app
import { NgModule } from ''@angular/core'';
import { BrowserModule } from ''@angular/platform-browser'';
//bootstrap alert import part 1
import {AlertModule} from ''ng2-bootstrap'';
import { AppComponent } from ''./app.component'';
@NgModule({
//bootstrap alert import part 2
imports: [ BrowserModule, AlertModule.forRoot() ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Y finalmente nuestro archivo app.component.ts del directorio / app
import { Component } from ''@angular/core'';
@Component({
selector: ''my-app'',
template: `
<alert type="success">
Well done!
</alert>
`
})
export class AppComponent {
constructor() { }
}
Luego tenemos que instalar nuestras dependencias bootstrap y ng2-bootstrap antes de ejecutar nuestra aplicación. Deberíamos ir a nuestro directorio de proyectos y escribir
npm install
Finalmente podemos comenzar nuestra aplicación
npm start
Hay muchos ejemplos de código en el github del proyecto ng2-bootstrap que muestra cómo importar ng2-bootstrap a varias compilaciones de proyectos de Angular 2. Incluso hay muestra plnkr. También hay documentación de API en el sitio web de Valor-software (autores de la biblioteca).
Mi recomendación sería en lugar de declararlo en el json stylus para ponerlo en el scss para que todo esté compilado y en un solo lugar.
1) instalar bootstrap con npm
npm install bootstrap
2) Declarar bootstrap npm en el CSS con nuestros estilos
Cree
_bootstrap-custom.scss
:
// Required
@import "bootstrap-custom-required";
// Optional
@import "~bootstrap/scss/root";
@import "~bootstrap/scss/grid";
@import "~bootstrap/scss/tables";
...
..
.
3) Dentro de styles.scss insertamos
@import "bootstrap-custom";
así que tendremos todo nuestro núcleo compilado y en un solo lugar
Otra alternativa muy buena (¿mejor?) Es utilizar un conjunto de widgets creados por el equipo angular-ui: https://ng-bootstrap.github.io
Otra muy buena alternativa es usar el esqueleto Angular 2/4 + Bootstrap 4
1) Descargar ZIP y extraer la carpeta zip
2) ng servir
Procedimiento con Angular 6+ y Bootstrap 4+:
- Abra un shell en la carpeta de su proyecto
-
Instale bootstrap con el comando:
npm install --save [email protected]
-
Bootstrap necesita la dependencia jquery, por lo que si no la tiene, puede instalarla con el comando:
npm install --save jquery 1.9.1
-
Es posible que deba corregir la vulnerabilidad con el comando:
npm audit fix
-
En su archivo style.scss principal, agregue la siguiente línea:
@import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
O
Agregue esta línea a su archivo index.html principal:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
Puedes intentar usar la biblioteca de la interfaz de usuario de Prettyfox http://ng.prettyfox.org
Esta biblioteca usa estilos bootstrap 4 y no necesita jquery.
Si planea usar Bootstrap 4, que se requiere con el ng-bootstrap del equipo angular-ui que se menciona en este hilo, querrá usar esto en su lugar (NOTA: no necesita incluir el archivo JS):
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
También puede hacer referencia a esto localmente después de ejecutar
npm install [email protected] --save
apuntando al archivo en su archivo
styles.scss
, suponiendo que esté usando SASS:
@import ''../../node_modules/bootstrap/dist/css/bootstrap.min.css'';
Si usa angular cli, después de agregar bootstrap a package.json e instalar el paquete, todo lo que necesita es agregar boostrap.min.css a la sección "styles" de .angular-cli.json.
Una cosa importante es "Cuando realice cambios en .angular-cli.json deberá reiniciar ng serve para recoger los cambios de configuración".
Árbitro:
https://github.com/angular/angular-cli/wiki/stories-include-bootstrap
Siempre que use la CLI Angular para generar nuevos proyectos, hay otra forma de hacer que bootstrap sea accesible en Angular 2/4 .
-
A través de la interfaz de línea de comandos, navegue a la carpeta del proyecto.
Luego use
npm
para instalar bootstrap:
$ npm install --save bootstrap
. La opción--save
hará que bootstrap aparezca en las dependencias. -
Edite el archivo .angular-cli.json, que configura su proyecto.
Está dentro del directorio del proyecto.
Agregue una referencia a la matriz de
"styles"
. La referencia debe ser la ruta relativa al archivo bootstrap descargado con npm. En mi caso es:"../node_modules/bootstrap/dist/css/bootstrap.min.css",
Mi ejemplo .angular-cli.json:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"name": "bootstrap-test"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"lint": [
{
"project": "src/tsconfig.app.json"
},
{
"project": "src/tsconfig.spec.json"
},
{
"project": "e2e/tsconfig.e2e.json"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "css",
"component": {}
}
}
Ahora bootstrap debería ser parte de su configuración predeterminada.
Tenía la misma pregunta y encontré este artículo con una solución realmente limpia:
http://leon.radley.se/2017/01/angular-cli-and-bootstrap-4/
Aquí están las instrucciones, pero con mi solución simplificada:
Instalar Bootstrap 4 ( instructions ):
npm install --save [email protected]
Si es necesario, cambie el nombre de su src / styles.css a styles.scss y actualice .angular-cli.json para reflejar el cambio:
"styles": [
"styles.scss"
],
Luego agregue esta línea a styles.scss :
@import ''~bootstrap/scss/bootstrap'';
Todo lo que necesita hacer es incluir el css boostrap dentro de su archivo index.html.
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
Una integración con Angular2 también está disponible a través del proyecto ng2-bootstrap : https://github.com/valor-software/ng2-bootstrap .
Para instalarlo, simplemente ponga estos archivos en su página HTML principal:
<script src="https://cdnjs.cloudflare.com/ajax/libs/ng2-bootstrap/x.x.x/ng2-bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
Luego puede usarlo en sus componentes de esta manera:
import {Component} from ''angular2/core'';
import {Alert} from ''ng2-bootstrap/ng2-bootstrap'';
@Component({
selector: ''my-app'',
directives: [Alert],
template: `<alert type="info">ng2-bootstrap hello world!</alert>`
})
export class AppComponent {
}
agregue las siguientes líneas en su página html
<script src="https://cdnjs.cloudflare.com/ajax/libs/ng2-bootstrap/x.x.x/ng2-bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
solo verifique su archivo package.json y agregue dependencias para bootstrap
"dependencies": {
"bootstrap": "^3.3.7",
}
luego agregue el siguiente código en el archivo
.angular-cli.json
"styles": [
"styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.css"
],
Finalmente, solo actualiza su npm localmente usando terminal
$ npm update