✨ Production

Quand vient le temps d'empaqueter votre application pour la production, vous pouvez utiliser le mode de production de Parcel.

parcel build entry.js

Optimisations

Cela désactive le mode watch et le remplacement de module à chaud, de sorte qu'il ne sera construit qu'une seule fois. Cela permet également de minifier tous les paquets en sortie pour réduire la taille du fichier. Les minifieurs utilisés par Parcel sont terser pour JavaScript, cssnano pour CSS et htmlnano pour HTML.

L'activation du mode production définit également la variable d'environnement NODE_ENV=production. Les grandes bibliothèques comme React ont des fonctionnalités de débogage uniquement pour le développement qui sont désactivées en définissant cette variable d'environnement, ce qui se traduit par des constructions plus petites et plus rapides pour la production.

Pour tirer parti du même type de fonctionnalités de débogage réservé uniquement au développement, assurez-vous que l'option dead_code de terser soit mise (elle l'est par défaut) et enveloppez tout le développement uniquement en débogage dans un contrôle conditionnel comme suit :

if (process.env.NODE_ENV === 'development') {
  // Ou, `process.env.NODE_ENV !== 'production'`
  // S'exécute seulement en développement et sera supprimé de la version de production
}

Stratégie de nommage des fichiers

Pour permettre à votre cdn de définir des règles de mise en cache très agressives, afin d'avoir une performance et une efficacité optimale, Parcel hache les noms de fichier de la plupart des paquets (selon si le paquet doit avoir un nom lisible/mémorisable ou non, principalement pour le référencement).

Parcel suit le tableau suivant, lorsqu’il s’agit de nommer des paquets. (Les points d'entrée ne sont jamais hachés)

Type de bundle Type Contenu haché
Tous point d'entrée
JavaScript <script>
JavaScript Import dynamique
JavaScript Service worker
HTML iframe
HTML lien d'ancrage
Brut (Images, fichiers texte, ...) Import/Require/...

Le hachage du fichier suit le modèle de dénomination suivant : <nom du répertoire>-<hash>.<extension>

Les pièges du multiplateforme

Afin d'optimiser les performances de construction de la production, Parcel essayera de déterminer le nombre de processeurs disponibles sur la machine qui exécute la commande build pour distribuer le travail en conséquence. Pour ce faire, Parcel s'appuie sur la bibliothèque physical-cpu-count.

Cela suppose que vous ayez le programme lscpu disponible sur votre système.

Utilisation d'un CI

Si vous souhaitez intégrer Parcel à votre système d'intégration continue (par exemple Travis ou Circle CI), vous devrez peut-être installer Parcel en tant que dépendance locale.

Les instructions se trouvent ici.

Aidez-nous à améliorer la documentation

Si quelque chose manque ou n'est pas tout à fait clair, veuillez enregistrer une issue sur le dépôt du site web (en anglais) ou modifier cette page.