En aquest tema, aprendrem com configurar Webpack per a un projecte React. Això inclou la configuració de loaders i plugins específics per a React, així com la integració amb Babel per a la transpilació de codi JSX.
Objectius
- Configurar Webpack per a un projecte React.
- Utilitzar loaders per a la transpilació de JSX.
- Integrar Babel amb Webpack.
- Configurar el servidor de desenvolupament de Webpack per a React.
Requisits Previs
- Coneixements bàsics de Webpack.
- Coneixements bàsics de React.
- Coneixements bàsics de Babel.
Passos per Configurar Webpack amb React
- Instal·lació de Dependències
Primer, necessitem instal·lar les dependències necessàries. Això inclou Webpack, Babel i React.
npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react npm install --save react react-dom
- Configuració del Fitxer
webpack.config.js
webpack.config.jsCreem un fitxer webpack.config.js a l'arrel del nostre projecte amb la següent configuració bàsica:
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
],
},
resolve: {
extensions: ['.js', '.jsx'],
},
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
port: 9000,
},
mode: 'development',
};
- Configuració de Babel
Creem un fitxer .babelrc a l'arrel del nostre projecte amb la següent configuració:
- Estructura del Projecte
L'estructura del projecte hauria de ser similar a la següent:
/my-react-app
/node_modules
/src
/components
App.jsx
index.js
.babelrc
package.json
webpack.config.js
- Creació de Components React
Creem un component React bàsic a src/components/App.jsx:
import React from 'react';
const App = () => {
return (
<div>
<h1>Hello, React with Webpack!</h1>
</div>
);
};
export default App;
- Punt d'Entrada
Creem el punt d'entrada a src/index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App';
ReactDOM.render(<App />, document.getElementById('root'));
- Configuració del HTML
Creem un fitxer index.html a la carpeta dist:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>React with Webpack</title> </head> <body> <div id="root"></div> <script src="bundle.js"></script> </body> </html>
- Executar el Servidor de Desenvolupament
Afegim un script al package.json per executar el servidor de desenvolupament:
Ara podem executar el servidor de desenvolupament amb:
Exercici Pràctic
Exercici 1: Afegir un Nou Component
- Crea un nou component
Header.jsxa la carpetasrc/components. - Fes que el component
Headermostri un títol i una descripció. - Importa i utilitza el component
Headerdins del componentApp.
Solució
src/components/Header.jsx
import React from 'react';
const Header = () => {
return (
<header>
<h1>Welcome to My React App</h1>
<p>This is a simple React application configured with Webpack.</p>
</header>
);
};
export default Header;src/components/App.jsx
import React from 'react';
import Header from './Header';
const App = () => {
return (
<div>
<Header />
<h1>Hello, React with Webpack!</h1>
</div>
);
};
export default App;Conclusió
En aquesta secció, hem après a configurar Webpack per a un projecte React, incloent la configuració de loaders i plugins específics per a React, així com la integració amb Babel. També hem creat un component React bàsic i hem configurat el servidor de desenvolupament de Webpack per a React. Amb aquests coneixements, estem preparats per desenvolupar aplicacions React més complexes utilitzant 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
