En esta sección, aprenderemos cómo configurar Webpack en un proyecto desde cero. Cubriremos los pasos necesarios para instalar Webpack y sus dependencias, así como la creación de un archivo de configuración básico.

  1. Instalación de Webpack

Para comenzar, necesitamos instalar Webpack y Webpack CLI (Command Line Interface) en nuestro proyecto. Esto se hace utilizando npm (Node Package Manager).

Paso 1: Inicializar un Proyecto Node.js

Primero, asegúrate de tener Node.js y npm instalados en tu sistema. Luego, inicializa un nuevo proyecto Node.js:

mkdir mi-proyecto-webpack
cd mi-proyecto-webpack
npm init -y

El comando npm init -y crea un archivo package.json con la configuración predeterminada.

Paso 2: Instalar Webpack y Webpack CLI

A continuación, instala Webpack y Webpack CLI como dependencias de desarrollo:

npm install --save-dev webpack webpack-cli

  1. Crear la Estructura del Proyecto

Vamos a crear una estructura básica de carpetas y archivos para nuestro proyecto.

mkdir src
touch src/index.js

El archivo src/index.js será nuestro punto de entrada principal.

  1. Configuración Básica de Webpack

Webpack utiliza un archivo de configuración para definir cómo debe compilar y empaquetar los archivos de tu proyecto. Por convención, este archivo se llama webpack.config.js.

Paso 1: Crear el Archivo de Configuración

Crea un archivo webpack.config.js en la raíz de tu proyecto:

touch webpack.config.js

Paso 2: Configurar el Archivo

Abre webpack.config.js y añade la siguiente configuración básica:

const path = require('path');

module.exports = {
  entry: './src/index.js', // Punto de entrada
  output: {
    filename: 'bundle.js', // Nombre del archivo de salida
    path: path.resolve(__dirname, 'dist') // Carpeta de salida
  },
  mode: 'development' // Modo de compilación
};

Explicación del Código

  • entry: Define el punto de entrada de la aplicación. En este caso, es ./src/index.js.
  • output: Configura el archivo de salida.
    • filename: Nombre del archivo compilado, en este caso bundle.js.
    • path: Ruta absoluta de la carpeta donde se guardará el archivo compilado. Utilizamos path.resolve para obtener la ruta absoluta.
  • mode: Define el modo de compilación. Puede ser development, production o none.

  1. Compilar el Proyecto

Para compilar el proyecto, añade un script en el archivo package.json:

"scripts": {
  "build": "webpack"
}

Ahora, puedes compilar tu proyecto ejecutando:

npm run build

Esto generará un archivo bundle.js en la carpeta dist.

  1. Ejemplo Práctico

Vamos a añadir algo de código en src/index.js para ver cómo funciona la compilación.

Paso 1: Editar src/index.js

Añade el siguiente código a src/index.js:

console.log('Hola, Webpack!');

Paso 2: Compilar y Verificar

Ejecuta el comando de compilación:

npm run build

Deberías ver un archivo bundle.js en la carpeta dist. Abre este archivo y verifica que contiene el código compilado.

  1. Ejercicio Práctico

Ejercicio

  1. Crea un nuevo archivo src/app.js y añade el siguiente código:
export function greet() {
  console.log('Hola desde app.js');
}
  1. Modifica src/index.js para importar y usar la función greet:
import { greet } from './app';

greet();
  1. Actualiza el archivo de configuración webpack.config.js para incluir el nuevo archivo app.js.

Solución

  1. Crear src/app.js:
export function greet() {
  console.log('Hola desde app.js');
}
  1. Modificar src/index.js:
import { greet } from './app';

greet();
  1. No es necesario actualizar webpack.config.js ya que Webpack automáticamente sigue las dependencias importadas.

  2. Ejecutar el comando de compilación:

npm run build

Deberías ver el mensaje "Hola desde app.js" en la consola cuando ejecutes el archivo bundle.js en un entorno de navegador o Node.js.

Conclusión

En esta sección, hemos aprendido cómo configurar Webpack en un proyecto desde cero. Hemos cubierto la instalación de Webpack, la creación de una estructura básica de proyecto, la configuración de Webpack y la compilación de nuestro proyecto. En la siguiente sección, profundizaremos en el archivo de configuración de Webpack y exploraremos más opciones y configuraciones avanzadas.

© Copyright 2024. Todos los derechos reservados