Open hugues-m opened 1 year ago
Server compilation using external packages : (externalServerPackagesForFasterDevUx in next.config.js) / beneficiaires : 2600 modules => 2100 modules
No prefetch: ok
modularized import of date-fns
/beneficiaries: 2200 modules => 1653 modules (!)
Hello,
J'ai mergé sur dev des améliorations de perf, vous devriez voir une différence significative mais ca ne résoud pas tout. J'ai des pistes pour améliorer cela encore.
Les lenteurs sont liées au nombre de modules compilés pour chaque page. La logique étant la meme que ce soit le dossier "pages" ou le dossier "app" qui soit utilisé pour le routing, je pense que le switch vers "pages" ne pourrait pas changer grandement le temps de compilation.
Pour éviter de compiler trop de module, j'ai désactivé la compilation des modules serveur en développement pour utiliser directement les fichiers node_modules au maximum
Pour les modules frontend, j'ai utilisé le principe de l'import modularization pour éviter de compiler toute une librairie externe lorsqu'on utilise juste une partie (le tree shaking ne se fait pas en env de développement)
Pour éviter les renders à répétition, maintenant les composants Link doivent etre importés depuis import { Link } from '@mss/web/components/Generic/Link' et non next/link pour pouvoir changer le comportement de prefetch. Pour le desactiver, ajoutez la variable NEXT_PUBLIC_DEVELOPMENT_DISABLE_LINK_PREFETCH=true dans votre .env (cela n'affecte pas le build de prod)
Je vois une grosse différence sur mon poste, j'espère que pour vous aussi, tenez moi au courant !