IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Eviter la recompilation de toute l'application à chaque fois


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut Eviter la recompilation de toute l'application à chaque fois
    Bonjour à tous,

    Je viens de me lancer sur notre nouveau gros projet en interne - Angular pour le Front/BO + NodeJS pour l'API.
    Je suis très loin de maîtriser Angular mais j'ai vraiment du mal à m'adapter à cause d'une chose.

    En effet, notre application est assez conséquente, et du coup, à chaque fois que je modifie un fichier (html, scss, ts) et que je sauvegarde (je suis sous WebStorm) - Webpack recompile énormément de fichiers... afin de m'afficher ma modification sur mon navigateur. (c'est parfait)

    Sauf que... c'est ultra long... j'ai 10s de compilation à chaque save... vous savez s'il y a une solution pour que webpack ne recompile que le component sur lequel je travaille, ou est ce tout simplement le fonctionnement normal.

    D'avance merci.

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    de puis angular 6-7 je ne sais plus, ng serve compile que ce qui a été modifié !
    bizarre....

  3. #3
    Membre expérimenté Avatar de RPGamer
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Mars 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués

    Informations forums :
    Inscription : Mars 2010
    Messages : 168
    Par défaut
    Manifestement ton projet est basé sur une architecture hautement couplée ce qui fait que l'ensemble du projet ou l'ensemble d'un module important du projet doit être recompilé à chaque changement. Vérifie que tu respectes bien le style guide Angular en séparant bien tes modules et en suivant le SRP.

    La prochaine version d'Angular (9.0.0) utilisera le compilateur Ivy, qui supporte la compilation incrémentale, ce qui aura pour conséquence une diminution significative des temps de compilation et une grosse augmentation des performances côté runtime.

  4. #4
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Ça n'a rien à voir avec Angular c'est lié à webpack.

    Si tu as un webpack dans une version récente correctement configuré il ne doit te recompiler que les sources qui ont changé.

    Il faut mettre les mains dans le cambouis pour mettre à jour tes dépendances de dev.

    Pour ce qui est de Ivy c'est la brique qui sert à compiler le DOM au runtime dans le contexte du cycle de vie de l'application. Ça n'a aucun rapport avec son problème.

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2019
    Messages : 15
    Par défaut
    Si c'est un problème de compilation de webpack 4, essai de modifier l'option "mode" dans son fichier de configuration (généralement "webpack.config.js") : https://webpack.js.org/configuration/mode/
    En forçant le mode "development", la compilation sera grandement accélérée.

    Tu peux aussi jouer sur la configuration de l'option "devtool" pour spécifier une compilation plus rapide des source maps et même les désactiver: https://webpack.js.org/configuration/devtool/

  6. #6
    Membre expérimenté Avatar de RPGamer
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Mars 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués

    Informations forums :
    Inscription : Mars 2010
    Messages : 168
    Par défaut
    La recompilation dépend du couplage entre les modules. Si tu modifie un module qui est une dépendance de toute l'app, elle sera recompilée entièrement. Par défaut, webpack ne recompile pas toute l'app mais seulement ce qui est nécessaire.
    Avec Ivy les temps de compilation sont sensiblement réduits, ce qui va complètement dans le sens de la question.

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/11/2010, 21h42
  2. Réponses: 0
    Dernier message: 19/01/2009, 10h09
  3. le makefile refait tout à chaque fois?!
    Par jula dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 25/04/2006, 17h08
  4. [ActionPerformed] Fermer toute l'application
    Par Invité dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 14/03/2006, 11h53
  5. Récupérer les composants visuels de toute l'application
    Par sessime dans le forum Composants VCL
    Réponses: 4
    Dernier message: 27/02/2006, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo