En aquest tema, aprendrem a configurar un projecte Node.js utilitzant Webpack. Això ens permetrà aprofitar les capacitats de Webpack per gestionar les nostres dependències, optimitzar el codi i millorar el flux de treball de desenvolupament.
- Inicialització del Projecte
Pas 1: Crear el Directori del Projecte
Primer, crea un nou directori per al teu projecte i navega fins a ell:
Pas 2: Inicialitzar el Projecte amb npm
Inicialitza el projecte amb npm per crear un fitxer package.json
:
- Instal·lació de Dependències
Pas 1: Instal·lar Webpack i Webpack CLI
Instal·la Webpack i Webpack CLI com a dependències de desenvolupament:
Pas 2: Instal·lar Babel
Babel és una eina que ens permet utilitzar la sintaxi moderna de JavaScript. Instal·la Babel i els seus presets:
Pas 3: Instal·lar altres dependències necessàries
Instal·la altres dependències que puguis necessitar, com ara express
per a un servidor web bàsic:
- Configuració de Webpack
Pas 1: Crear el Fitxer de Configuració de Webpack
Crea un fitxer anomenat webpack.config.js
a l'arrel del teu projecte i afegeix la configuració bàsica:
const path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } } ] }, target: 'node' };
Explicació del Codi
- entry: Defineix el punt d'entrada del teu projecte.
- output: Especifica el nom del fitxer de sortida i la ubicació.
- module.rules: Configura Babel per transformar el codi JavaScript modern a una versió compatible amb Node.js.
- target: Indica que el codi està destinat a ser executat en un entorn Node.js.
- Estructura del Projecte
Crea l'estructura bàsica del projecte:
Exemple de Codi en src/index.js
Afegeix el següent codi a src/index.js
per crear un servidor bàsic amb Express:
const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(`Server is running at http://localhost:${port}`); });
- Scripts de npm
Actualitza el fitxer package.json
per afegir scripts de construcció i execució:
- Construcció i Execució del Projecte
Pas 1: Construir el Projecte
Executa el següent comandament per construir el projecte:
Pas 2: Executar el Projecte
Després de construir el projecte, executa el servidor:
Ara, si navegues a http://localhost:3000
, hauràs de veure el missatge "Hello World!".
Exercici Pràctic
Exercici
- Afegeix una nova ruta
/about
que retorni el missatge "About Page". - Modifica el fitxer
webpack.config.js
per incloure un plugin que netegi el directoridist
abans de cada construcció.
Solució
- Modifica
src/index.js
per afegir la nova ruta:
- Instal·la el plugin
clean-webpack-plugin
:
- Modifica
webpack.config.js
per utilitzar el plugin:
const { CleanWebpackPlugin } = require('clean-webpack-plugin'); module.exports = { // ... (resta de la configuració) plugins: [ new CleanWebpackPlugin() ] };
Conclusió
En aquest tema, hem après a configurar un projecte Node.js utilitzant Webpack. Hem cobert la instal·lació de dependències, la configuració de Webpack, la creació d'un servidor bàsic amb Express i la construcció i execució del projecte. A més, hem practicat afegint una nova ruta i utilitzant un plugin per netejar el directori de sortida. Amb aquests coneixements, estàs preparat per començar a desenvolupar aplicacions Node.js optimitzades amb Webpack.
Curs de Webpack
Mòdul 1: Introducció a Webpack
- Què és Webpack?
- Configuració de Webpack
- Fitxer de Configuració de Webpack
- Construcció Bàsica amb Webpack
Mòdul 2: Conceptes Bàsics
Mòdul 3: Configuració Avançada
Mòdul 4: Eines de Desenvolupament
Mòdul 5: Optimització per a Producció
Mòdul 6: Integracions i Tècniques Avançades
- Integració amb Babel
- Integració amb TypeScript
- Ús de Webpack amb React
- Ús de Webpack amb Vue
- Plugins i Loaders Personalitzats
Mòdul 7: Projectes del Món Real
- Configuració d'un Projecte React
- Configuració d'un Projecte Vue
- Configuració d'un Projecte Node.js
- Migració de Projectes Heretats a Webpack