Saltar al contenido

¿Cómo uso bootstrap mixins en angular-cli?

Solución:

Tengo el mismo problema con todos los componentes en su propia carpeta
projects/<prj>/src/app/navbar/navbar.scss:

y he arreglado la adición temporal manualmente

   @import '~bootstrap/scss/functions';
   @import '~bootstrap/scss/variables';
   @import '~bootstrap/scss/mixins';

Sé con certeza que eso no es hermoso, pero resuélvelo …

Versiones de mis paquetes a continuación

Angular CLI: 7.0.6
Node: 9.10.1
OS: darwin x64
Angular: 7.0.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.10.6
@angular-devkit/build-angular      0.10.6
@angular-devkit/build-ng-packagr   0.10.7
@angular-devkit/build-optimizer    0.10.6
@angular-devkit/build-webpack      0.10.6
@angular-devkit/core               7.0.6
@angular-devkit/schematics         7.0.6
@angular/cli                       7.0.6
@angular/fire                      5.1.0
@ngtools/json-schema               1.1.0
@ngtools/webpack                   7.0.6
@schematics/angular                7.0.6
@schematics/update                 0.10.6
ng-packagr                         4.4.5
rxjs                               6.3.3
typescript                         3.1.6
webpack                            4.19.1

En lugar de importar todo el bootstrap nuevamente, en realidad solo desea el archivo mixins y el archivo de variables:

@import "../node_modules/bootstrap/scss/variables";
@import "../node_modules/bootstrap/scss/mixins";

Estos archivos no tienen CSS real en ellos, solo variables SCSS y mixins.

Hay dos formas de hacer esto. Básicamente, ambas formas son iguales, solo que son diferentes en sintaxis. Entonces, en la parte superior de su archivo SCSS, use la siguiente línea:

@import "~bootstrap/scss/bootstrap-grid.scss";

O

@import "../../node_modules/bootstrap/scss/bootstrap-grid.scss";

Aquí tienes un ejemplo completo:

main.scss

@import "~bootstrap/scss/bootstrap-grid.scss

.test {
  background-color: yellow;
}
@include media-breakpoint-up(md) {
  .test {
    background-color: red;
  }
}

Código HTML:

<div class="test">
  This div should have yellow background on mobile and red background in medium devices and up.
</div>

NOTA: Esto supone que ya tiene Bootstrap en su lista de dependencias en package.json expediente. De lo contrario, puede agregar la siguiente línea y puede cambiar la versión de Bootstrap como mejor le parezca.

"bootstrap": "4.1.3"

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *