Nouveau : Datasets open source gratuits disponibles !Decouvrir →
💻
Intermediaire 25 min Vite

Migrer de Webpack vers Vite

Pourquoi Migrer de Webpack vers Vite ?

Migrer d'Webpack à Vite peut offrir plusieurs avantages au quotidien des développeurs :

  1. Temps d'initialisation rapide : Vite est conçu pour démarrer très rapidement, ce qui améliore la productivité en réduisant les délais de compilation.
  2. Hot Module Replacement (HMR) : Vite offre un HMR plus performant et efficace que Webpack, permettant une modification instantanée des fichiers sans rechargement total de la page.
  3. Navigateur natif : Vite utilise le navigateur pour construire et démarrer le projet, ce qui peut être particulièrement utile lors du développement sur les dernières technologies et bibliothèques.

Un cas d'usage concret est un équipe qui travaille sur une application web complexe avec de nombreux fichiers et des composants React. Migrer vers Vite pourrait permettre de réduire considérablement le temps de compilation et de profiter du HMR pour une meilleure expérience de développement.

Prerequis

Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :

  • Node.js : Version 14.0.0 ou supérieure
  • npm : Version 6.0.0 ou supérieure
  • Un éditeur de code (ex: VSCode)
  • Connaissance de base de JavaScript et React

Concepts fondamentaux

Schema mental pour Vite

Vite est un outil de développement rapide basé sur le navigateur. Voici comment il fonctionne :

  1. Serveur de développement : Lancement d'un serveur local qui s'occupe du rendu et de la hot-reload.
  2. Plugins : Extension des capacités de Vite avec différents plugins (ex: pour React, Vue, etc.).

Mini-projet complet : Un gestionnaire de tâches

Nous allons créer un simple gestionnaire de tâches en utilisant React.

Étape 1 : Initialiser le projet

## Créer un nouveau dossier pour le projet
mkdir task-manager
cd task-manager

## Initialiser un nouveau projet npm
npm init -y

Étape 2 : Installer les dépendances

## Installer React et ReactDOM
npm install react react-dom

## Installer Vite comme outil de développement
npm install vite --save-dev

Étape 3 : Créer la structure du projet

Créez le fichier index.html dans le dossier racine :

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Task Manager</title>
</head>
<body>
  <div id="root"></div>
  <script type="module" src="/src/main.js"></script>
</body>
</html>

Créez le fichier main.js dans le dossier src :

import React from 'react';
import ReactDOM from 'react-dom';

const App = () => {
  return (
    <div>
      <h1>Task Manager</h1>
      <ul>
        <li>Task 1</li>
        <li>Task 2</li>
        <li>Task 3</li>
      </ul>
    </div>
  );
};

ReactDOM.render(<App />, document.getElementById('root'));

Étape 4 : Configurer Vite

Créez un fichier vite.config.js à la racine du projet :

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
});

Étape 5 : Lancer le serveur de développement

npx vite

Ouvrez votre navigateur et accédez à http://localhost:3000. Vous devriez voir l'application React en cours de développement.

Erreurs fréquentes et debugging

Erreur 1 : SyntaxError: Unexpected token import

Message d'erreur :

SyntaxError: Unexpected token import

Code incorrect :

// src/main.js
import React from 'react';
import ReactDOM from 'react-dom';

const App = () => {
  return (
    <div>
      <h1>Task Manager</h1>
      <ul>
        <li>Task 1</li>
        <li>Task 2</li>
        <li>Task 3</li>
      </ul>
    </div>
  );
};

ReactDOM.render(<App />, document.getElementById('root'));

Code correct :

// src/main.js
import React from 'react';
import ReactDOM from 'react-dom';

const App = () => {
  return (
    <div>
      <h1>Task Manager</h1>
      <ul>
        <li>Task 1</li>
        <li>Task 2</li>
        <li>Task 3</li>
      </ul>
    </div>
  );
};

ReactDOM.render(React.createElement(App), document.getElementById('root'));

Erreur 2 : Module not found: Error: Can't resolve 'react'

Message d'erreur :

Module not found: Error: Can't resolve 'react'

Code incorrect :

// src/main.js
import React from 'react';
import ReactDOM from 'react-dom';

const App = () => {
  return (
    <div>
      <h1>Task Manager</h1>
      <ul>
        <li>Task 1</li>
        <li>Task 2</li>
        <li>Task 3</li>
      </ul>
    </div>
  );
};

ReactDOM.render(<App />, document.getElementById('root'));

Code correct :

## Installer React et ReactDOM
npm install react react-dom

Erreur 3 : The development server failed to start

Message d'erreur :

The development server failed to start

Code incorrect :

// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
});

Code correct :

## Installer @vitejs/plugin-react
npm install @vitejs/plugin-react --save-dev

Pour aller plus loin

  1. Plugins supplémentaires : Explorer et utiliser d'autres plugins Vite comme @vitejs/plugin-vue pour du développement Vue.js.
  2. Optimisations de production : Apprendre comment configurer Vite pour des builds de production optimisés.
  3. Intégration avec TypeScript : Configurer Vite pour utiliser TypeScript dans un projet React.

Défi pratique : Créez une application simple en utilisant Vue.js et migrez-la vers Vite.

Besoin d'aide sur Vite ?

Besoin d'aide sur un projet technique ? Decrivez-le pour des conseils personnalises.

Recevoir des conseils

Questions frequentes

Quelle est la principale différence entre Webpack et Vite ?
Webpack est un bundler basé sur les plugins et les loaders, qui peut être assez lent pour le développement en raison de son traitement asynchrone. En revanche, Vite utilise une approche différente en démarrant avec des serveurs de développement extrêmement rapides grâce à l'import dynamique ES, offrant une expérience de développement beaucoup plus fluide.
Comment configurer Vite pour un projet existant basé sur Webpack ?
Pour migrer un projet existant depuis Webpack vers Vite, vous devez d'abord installer Vite dans votre projet avec `npm install vite --save-dev`. Ensuite, vous pouvez créer un fichier `vite.config.js` et y configurer vos plugins et options de manière similaire à Webpack. Il est également recommandé de vérifier les fichiers `.vue`, `.css`, et autres modules spécifiques au projet pour s'assurer qu'ils sont compatibles avec Vite.
Vite prend-il en charge les polyfills ?
Oui, Vite peut prendre en charge les polyfills grâce à la configuration. Vous pouvez utiliser des options comme `@vitejs/plugin-polyfills` pour ajouter des polyfills automatiquement ou vous pouvez configurer manuellement les polyfills dans votre fichier de configuration Vite.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.