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
/aboutque retorni el missatge "About Page". - Modifica el fitxer
webpack.config.jsper incloure un plugin que netegi el directoridistabans de cada construcció.
Solució
- Modifica
src/index.jsper afegir la nova ruta:
- Instal·la el plugin
clean-webpack-plugin:
- Modifica
webpack.config.jsper 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
