Bootstrap & Vite
La guía oficial para incluir y empaquetar el CSS y JavaScript de Bootstrap en tu proyecto usando Vite.
Configuración
Estamos construyendo un proyecto de Vite con Bootstrap desde cero, así que hay algunos prerrequisitos y pasos preliminares antes de poder empezar realmente. Esta guía requiere que tengas Node.js instalado y cierta familiaridad con la terminal.
-
Crea una carpeta de proyecto y configura npm. Crearemos la carpeta
my-projecte inicializaremos npm con el argumento-ypara evitar que nos haga todas las preguntas interactivas.mkdir my-project && cd my-project npm init -y -
Instala Vite. A diferencia de nuestra guía de Webpack, aquí solo hay una única dependencia de herramienta de compilación. Usamos
--save-devpara indicar que esta dependencia es solo para uso en desarrollo y no para producción.npm i --save-dev vite -
Instala Bootstrap. Ahora podemos instalar Bootstrap. También instalaremos Popper ya que nuestros menús desplegables, popovers y tooltips dependen de él para su posicionamiento. Si no planeas usar esos componentes, puedes omitir Popper aquí.
npm i --save bootstrap @popperjs/core -
Instala una dependencia adicional. Además de Vite y Bootstrap, necesitamos otra dependencia (Sass) para importar y empaquetar correctamente el CSS de Bootstrap.
npm i --save-dev sass
Ahora que tenemos todas las dependencias necesarias instaladas y configuradas, podemos ponernos a trabajar creando los archivos del proyecto e importando Bootstrap.
Estructura del proyecto
Ya hemos creado la carpeta my-project e inicializado npm. Ahora también
crearemos nuestra carpeta src , hoja de estilos y archivo JavaScript para completar la estructura
del proyecto. Ejecuta lo siguiente desde my-project, o crea manualmente la estructura de carpetas
y archivos que se muestra a continuación.
mkdir {src,src/js,src/scss}
touch src/index.html src/js/main.js src/scss/styles.scss vite.config.js
Cuando termines, tu proyecto completo debería verse así:
my-project/
├── src/
│ ├── js/
│ │ └── main.js
│ └── scss/
│ | └── styles.scss
| └── index.html
├── package-lock.json
├── package.json
└── vite.config.js
En este punto, todo está en su lugar, pero Vite no funcionará porque aún no hemos
completado nuestro vite.config.js.
Configurar Vite
Con las dependencias instaladas y nuestra carpeta de proyecto lista para empezar a programar, ahora podemos configurar Vite y ejecutar nuestro proyecto localmente.
-
Abre
vite.config.jsen tu editor. Como está en blanco, necesitamos añadirle algo de configuración base para poder iniciar nuestro servidor. Esta parte de la configuración le dice a Vite dónde buscar el JavaScript de nuestro proyecto y cómo debe comportarse el servidor de desarrollo (obteniendo desde la carpetasrccon hot reload).const path = require('path') export default { root: path.resolve(__dirname, 'src'), server: { port: 8080, hot: true } } -
A continuación completamos
src/index.html. Esta es la página HTML que Vite cargará en el navegador para utilizar el CSS y JS empaquetados que añadiremos en pasos posteriores.<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap w/ Vite</title> </head> <body> <div class="container py-4 px-3 mx-auto"> <h1>Hello, Bootstrap and Vite!</h1> <button class="btn btn-primary">Primary button</button> </div> <script type="module" src="./js/main.js"></script> </body> </html>Estamos incluyendo un poco de estilo de Bootstrap aquí con el
div class="container"y el<button>para que veamos cuando el CSS de Bootstrap es cargado por Vite. -
Ahora necesitamos un script de npm para ejecutar Vite. Abre
package.jsony añade el scriptstartque se muestra a continuación (ya deberías tener el script test). Usaremos este script para iniciar nuestro servidor de desarrollo local de Vite.{ // ... "scripts": { "start": "vite", "test": "echo \"Error: no test specified\" && exit 1" }, // ... } -
Y finalmente, podemos iniciar Vite. Desde la carpeta
my-projecten tu terminal, ejecuta ese script de npm recién añadido:npm start
En la siguiente y última sección de esta guía, importaremos todo el CSS y JavaScript de Bootstrap.
Importar Bootstrap
-
Configura la importación de Sass de Bootstrap en
vite.config.js. Tu archivo de configuración ahora está completo y debería coincidir con el fragmento a continuación. La única parte nueva aquí es la secciónresolve—la usamos para añadir un alias a nuestros archivos fuente dentro denode_modulespara mantener las importaciones lo más simples posible.const path = require('path') export default { root: path.resolve(__dirname, 'src'), resolve: { alias: { '~bootstrap': path.resolve(__dirname, 'node_modules/bootstrap'), } }, server: { port: 8080, hot: true } } -
Ahora, importemos el CSS de Bootstrap. Añade lo siguiente a
src/scss/styles.scsspara importar todo el Sass fuente de Bootstrap.// Import all of Bootstrap's CSS @import "~bootstrap/scss/bootstrap";También puedes import our stylesheets individually if you want. Lee nuestra documentación de importación de Sass para más detalles.
-
A continuación cargamos el CSS e importamos el JavaScript de Bootstrap. Añade lo siguiente a
src/js/main.jspara cargar el CSS e importar todo el JS de Bootstrap. Popper se importará automáticamente a través de Bootstrap.// Import our custom CSS import '../scss/styles.scss' // Import all of Bootstrap's JS import * as bootstrap from 'bootstrap'También puedes importar los plugins de JavaScript individualmente según sea necesario para mantener los tamaños del bundle pequeños:
import Alert from 'bootstrap/js/dist/alert'; // or, specify which plugins you need: import { Tooltip, Toast, Popover } from 'bootstrap';Lee nuestra documentación de JavaScript para más información sobre cómo usar los plugins de Bootstrap.
-
¡Y ya está! 🎉 Con el Sass y JS fuente de Bootstrap completamente cargados, tu servidor de desarrollo local debería verse así ahora.
Ahora puedes empezar a añadir cualquier componente de Bootstrap que quieras usar. Asegúrate de revisar el proyecto de ejemplo completo de Vite para ver cómo incluir Sass personalizado adicional y optimizar tu compilación importando solo las partes del CSS y JS de Bootstrap que necesitas.
¿Ves algo mal o desactualizado aquí? Por favor abre un issue en GitHub. ¿Necesitas ayuda para solucionar problemas? Busca o inicia una discusión en GitHub.