Passer au contenu principal

Frontend watch

Ouvrir dans ChatGPT

Le watch frontend reconstruit les sources sous src/main/frontend pendant que l'application est en cours d'exécution et envoie la sortie au navigateur. C'est le côté développement du bundler frontend et nécessite que webforj.devtools.livereload.enabled soit activé, voir les paramètres.

Exécution du watch

Exécutez l'objectif watch avant l'objectif qui démarre l'application. Un projet archétype définit cela comme son objectif par défaut, donc mvn sans arguments exécute les deux :

mvn compile webforj:watch spring-boot:run
mvn compile webforj:watch jetty:run

Pour exécuter le watch en tant qu'étape de construction autonome, voir Construction et tests.

Comment la sortie s'applique

L'action du navigateur dépend de la sortie produite, pas du fichier modifié :

SortieAction du navigateur
Feuille de style, à partir d'une source .css, .scss, .sass ou .lessAppliquée sur place. Pas de rechargement, les données de formulaire et la position de défilement restent.
ImageÉchangée sur place. Pas de rechargement.
Toute autre sortie, comme les fichiers compilés .ts, .tsx ou .jsLa vue se recharge.

Lorsque une reconstruction produit plusieurs fichiers, le navigateur les applique sur place uniquement si chaque fichier est valide. Sinon, il se recharge une fois, donc un changement ne s'applique jamais partiellement.

Pendant un redémarrage du serveur

Un changement Java sans outil de hotswap redémarre le serveur. Lors du redémarrage :

  • Les styles appliqués restent sur la page.
  • Un indicateur s'affiche pendant que le serveur est hors ligne. Il apparaît uniquement pour un redémarrage, pas pour un rechargement manuel.
  • La page se recharge lorsque l'application est prête, pas avant.

Un ajout ou une suppression de @BundleEntry prend effet lorsque ce redémarrage est terminé.