Site icon Blog ARC Optimizer

Le guide de l'outillage de projet moderne et ultra-rapide


Vite est un outil moderne et ultra-rapide pour les projets d'échafaudage et de regroupement, devenant rapidement populaire en raison de la compilation de code quasi-instantanée et du remplacement rapide des modules à chaud. Dans cet article, vous apprendrez ce qu'est Vite et comment échafauder un nouveau projet avec, et plus encore.

La façon dont les nouveaux projets sont créés aujourd'hui diffère considérablement de la façon dont nous créions des projets il y a des années. Dans le passé, la méthode habituelle consistait à créer un dossier et à commencer par créer un tas de fichiers HTML, CSS et JS. Les projets ont été déployés manuellement à l'aide de clients FTP et les fichiers ont été téléchargés tels quels, sans aucun traitement ni optimisation comme la réduction ou la compression.

Au fil des ans, les choses ont changé, car nous avons maintenant de nombreux outils incroyables comme Babel et webpack qui nous a facilité la vie en tant que développeurs. Et nous devons garder un œil attentif sur l'écosystème car il évolue rapidement. Dans le développement Web, un nouvel outil est apparu l'année dernière qui offre une alternative à Create React App (CRA) et gagne rapidement en popularité. Appelé Vite (Vite.js), son créateur le décrit comme un « outil frontal de nouvelle génération ». Aujourd'hui, nous allons explorer leur prétention à la gloire et voir comment vous pouvez utiliser Vite au lieu de CRA, et pourquoi !

De nos jours, de nombreux projets sont lancés en utilisant des outils CLI riches en fonctionnalités qui fournissent une configuration standard avec des fonctionnalités telles que comme transpilation de code et optimisations utiles ou un serveur de développement avec remplacement de module à chaud prêt à l'emploi.

De nombreux frameworks populaires fournissent des CLI officielles qui peuvent être utilisées pour échafauder des projets. Par exemple, React a Create React App, tandis que Vue a Vue CLI. Cependant, il existe d'autres concurrents dans cet espace qui ne sont pas nécessairement spécifiques au cadre. C'est pourquoi Vitel'outil indépendant du framework pour l'échafaudage et la construction de projets modernes, mérite notre attention. Alors, poursuivez votre lecture au fur et à mesure que nous découvrons Vite.js et assurons-nous de rester dans l'air du temps.

React devient plus facile lorsque vous avez un expert à vos côtés. KendoReact est une bibliothèque de composants d'interface utilisateur professionnelle qui a pour mission de vous aider à concevoir et à créer des applications professionnelles avec React beaucoup plus rapidement. Découvrez-le !

Table des matières

Vous pouvez trouver les exemples de code pour cet article ici.

À quoi sert Vite ?

Vite, qui a été créé par Evan You, le créateur du framework Vue.js, est un outil frontal de nouvelle génération qui fournit un serveur de développement ultra-rapide, un regroupement et une excellente expérience de développement. Quand je dis rapide, je le pense vraiment, car les temps de démarrage peuvent décupler par rapport à d'autres outils, tels que webpack, Rollup ou Parcel.

Qu'est-ce qui rend Vite.js rapide ?

Vite tire parti du natif Modules ES, qui sont pris en charge dans les navigateurs toujours verts. Dans l'environnement de développement, Vite exécute un serveur qui est utilisé pour compiler et servir à la volée toutes les dépendances requises via les modules ES. Cette approche permet à Vite de traiter et de fournir uniquement le code nécessaire à ce moment-là. Ainsi, Vite doit gérer beaucoup moins de code lors du démarrage du serveur et des mises à jour du code. Ce n'est pas le cas pour d'autres outils, tels que webpack. Nous verrons pourquoi c'est dans un instant.

Une autre raison pour laquelle Vite est si rapide est qu'il utilise esbuild pour pré-grouper les dépendances pendant le développement. esbuild est un bundler JavaScript extrêmement rapide écrit en langage Go. Ci-dessous, vous pouvez voir la comparaison de la façon dont esbuild fairs par rapport à d'autres bundlers, tels que webpack, Rollup et Parcel, qui ont été écrits à l'aide de JavaScript. rollup + tercer, 37,79 ; Parcelle 2 39,28s ; Webpack 4, 43.07s ; webpack 5, 55,25s. » title= »esbuild Bundlers Comparison »/>

Comme le montre le benchmark, la différence est substantielle. Voyons maintenant en quoi Vite diffère de webpack.

Vite vs. webpack

webpack est l'un des bundles les plus couramment utilisés pour les projets Web, mais il est beaucoup plus lent que Vite. L'utilisation de modules ES natifs donne à Vite un avantage de vitesse significatif par rapport à webpack, qui gère le code et les dépendances de regroupement différemment. webpack regroupe tous les fichiers du projet avant que le serveur de développement ne soit prêt. ="Serveur de développement basé sur un ensemble"/>

C'est l'une des raisons les plus importantes pour lesquelles webpack est beaucoup plus lent, en particulier dans les projets plus importants. À mesure qu'un projet grandit, la quantité de code à traiter augmente également. processus de compilation avec webpack devient de plus en plus long. De même, lors du remplacement du module à chaud lorsque le code est mis à jour, webpack doit effectuer plus de traitement pour mettre à jour le bundle et servir le dernier code pendant le développement. Ce n'est pas le cas pour Vite en raison de l'utilisation de modules ES natifs. Le graphique ci-dessous montre comment Vite traite les fichiers. " title="Ba ESM natif sed dev server"/>

Si nous avons une application avec quelques pages comme home, about, contact, etc., et que nous visitons la page d'accueil, nous n'avons vraiment besoin que du code pour la page d'accueil et c'est ce que nous obtenons avec Vite. webpack traiterait le code pour toutes les pages et servirait ensuite le code pour la page d'accueil.

Voyons maintenant comment nous pouvons échafauder un projet React avec Vite.

Échafaudage d'un projet React avec Vite [19659008]Vite peut être utilisé pour échafauder des projets pour plusieurs frameworks, tels que React, Vue, Svelte, etc. Pour cet exemple, créons une application React. Exécutez l'une des commandes ci-dessous dans votre terminal.
# npm 6.x
npm init vite@latest my-vite-react-app --template react

# npm 7+, un double tiret supplémentaire est nécessaire :
npm init vite@latest my-vite-react-app -- --template réagir

# fil
fil créer vite my-vite-react-app --template réagir

# pnpm
pnpm create vite my-vite-react-app -- --template react

Une fois le projet échafaudé, cd dedans, installez toutes les dépendances et démarrez le serveur de développement.

$ cd my-vite-react-app
$ npm install // ou fil
$ npm run dev // ou thread dev

Par défaut, le serveur de développement démarre sur le port 3000, rendez-vous donc sur http://localhost:3000 dans votre navigateur. Vous devriez voir quelque chose comme :

Comment créer un menu latéral récursif dans React


Utilisation de préprocesseurs

Vite prend en charge Sass, Less et Stylus. Ils peuvent être ajoutés au projet simplement en les installant en tant que dépendances. Pour cet exemple, installons Sass.

$ npm install -D sass

Ensuite, déplaçons la logique du compteur du fichier App.jsx vers un nouveau composant appelé Counter.

src/components/Counter.jsx[19659037]import { useState } from "react";
import styles from "./counter.module. scss";

const Compteur = () => {
const [count , setCount] = useState(0);

return (
<div[19659063]className={styles.counter}>
<bouton type= "bouton" onClick={() => setCount(count => count + 1)}>
count is: {count}
</bouton>
</div>
);
} ;

export default Compteur;

L'utilisation de Sass est aussi simple que de créer un nouveau fichier avec l'extension .scsspuis de l'importer dans un composant. Outre Sass, nous utiliserons également des modules CSS. Ils peuvent être utilisés en ajoutant simplement .module avant l'extension de fichier dans le nom de fichier. Par exemple, styles.module.css ou styles.module.scss si vous utilisez un préprocesseur CSS.

src/components/counter.module. scss

.counter {
  background-color: bisque;
}

Enfin, mettez à jour le fichier App.jsx.

src/App.jsx

import "./App.css";
 import Counter from "./components/Counter";

function App() {
  return  (
    <div className="App">
      <Compteur />
    </div>
  );
}

export default App;

Résolution de chemin et absolu Importations avec Vite

Une chose que je trouve vraiment fastidieuse est de devoir importer des composants à l'aide de chemins relatifs. Bien que notre exemple soit simple, j'ai travaillé sur des projets qui avaient beaucoup de fichiers imbriqués, et parfois les importations ressemblaient à ceci :

import FancyModal from '../../../ ../components/modal/FancyModal/FancyModal.jsx'

Ne serait-ce pas génial si, à la place, nous pouvions faire quelque chose comme ça ?

import FancyModal from '@/components/modal/FancyModal/FancyModal.jsx'

Personnellement, je préfère utiliser des importations absolues car elles sont beaucoup plus propres. Nous pouvons configurer Vite pour les prendre en charge en modifiant le fichier vite.config.js. Ci-dessous, vous pouvez voir le code pour ajouter l'alias @ qui se résoudra dans le répertoire src.

vite.config.js

import  chemin from "path";
import { defineConfig } from "vite";[19659042]import react from "@vitejs/plugin-react";


export default defineConfig({
  plugins : [react()],
  résoudre : {
    alias: {
      "@": chemin.resolve(__dirname, "./src "),
    },
  },
});

En plus de configurer Vite pour résoudre l'alias @nous devons également en informer notre éditeur de code. Nous pouvons le faire en créant le fichier jsconfig.json avec le contenu ci-dessous.

jsconfig.json

{
  "compilerOptions": {[19659184]"baseUrl": "..",
    "chemins": {
      "@/*": [[19659194]"src/*"]
    }
  }
}

Si vous utilisez TypeScript, vous le feriez dans un fichier tsconfig.json.

Enfin, nous pouvons mettre à jour l'import Counter.

[]Counter. src/App.jsx

import "./App.css";
import Counter from "@/components/Counter" ;

function App() {
  return (
    <div className="App">
      <Compteur />
    </div>
  ) ;
}

export default App;

Variables d'environnement

Il existe une légère différence en ce qui concerne l'utilisation de variables d'environnement dans les applications échafaudées avec Vite. Tout d'abord, toutes les variables d'environnement définies dans le fichier .env qui doivent être exposées au code côté client doivent être préfixées par le mot VITE_. Créez un nouveau fichier .env dans le répertoire racine et ajoutez la variable VITE_MESSAGE comme indiqué ci-dessous.

.env

VITE_MESSAGE=" Bonjour Vite!"

Une autre différence est la façon dont nous accédons à cette variable d'environnement dans l'application. La plupart des CLI, telles que Create React App, exposent des variables d'environnement sur l'objet process.env. Cependant, Vite les expose sur import.meta.env à la place.

Mettons à jour le composant App pour afficher le message Hello Vite!.

src/App.jsx

import "./App.css";
import Counter from "./components/Counter.jsx" ;

fonction App() {
  return (
    <div className=[19659041]"App">
      <Compteur />
      {import.meta. env.VITE_MESSAGE}
    </div>
  );
}

export default App ;

Vite—Avantages et inconvénients

Jetons un coup d'œil à certains des avantages et inconvénients les plus importants de Vite.

Avantages

Inconvénients

Résumé

Vite est un outil incroyable qui peut considérablement accélérer le développement et économiser beaucoup de temps. Les avantages de l'utilisation de Vite sont importants, mais le manque de prise en charge de Jest et des problèmes occasionnels difficiles à déboguer peuvent être un obstacle pour certains développeurs. Comme pour tout nouvel outil, c'est à vous de décider s'il vaut la peine de passer à celui-ci maintenant ou d'utiliser d'autres CLI pour gérer les projets en attendant. Tout dépend de ce qui est le mieux pour votre équipe et votre projet.




Source link
Quitter la version mobile