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

JavaScript Discussion :

[grunt] Les possibilités de ce framework


Sujet :

JavaScript

  1. #1
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut [grunt] Les possibilités de ce framework
    Bonjour,

    j'ai suivis des tutos sur grunt, toutefois j'ai une question :
    disons que j'ai plusieurs templates, chacun de ces templates chargent des .js et des .css différents mais aussi certains en commun.

    donc pour faire ça, il faut faire un gruntfile.js par template ?
    ou alors mettre tous les traitements de tous les templates dans un gruntfile.js ?


    n'y a t'il pas une astuce pour résoudre cette problématique ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Bonjour,

    J'ai un peu du mal à te suivre concernant les termes que tu emploies. Grunt n'est pas un framework mais un exécuteur de tâches, alias task runner. Toutes les tâches sont définies et configurées dans un fichier Gruntfile. Il n'y a donc qu'un gruntfile par projet.

    Qu'est-ce que tu appelles "template" ? Un rapport avec les templates HTML ?

  3. #3
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    un template c'est une page php ou html, peu importe.

    je vais essayer d'expliquer avec un exemple. je prends en compte que les .css et uglify pour simplifier :

    page1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <head>
      <link rel="stylesheet" type="text/css" href="sortie1.css">
    </head>
     ...
    page2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <head>
      <link rel="stylesheet" type="text/css" href="sortie2.css">
    </head>
    ...
    gruntfile.js (schématiquement)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    uglify:
           jquery.css, theme1.css, jquery-ui.css
          output: sortie1.css
     
    uglify:
           jquery.css, theme2.css, fancy-input.css
          output: sortie2.css
    Je lance la tache et tout est uglifier, ok.


    ce que je veux dire c'est que dans le même fichier gruntfile.js je traite les .css de page1 et page2 et donc si on as plusieurs pages comme ça, entre les .js , les .css , les watchs... ça va devenir vite illisible, non ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Tu as un bundle CSS par page ? ça veut dire que l'utilisateur va télécharger X fois le CSS de tes plug-ins jQuery, s'il est présent dans chacun des bundle. C'est vraiment pas top pour la mise en cache, on perd tout l'intérêt du bundle en gain de perf. Le plus souvent, on utilise un seul bundle CSS pour toute l'application. A la rigueur, si tu as beaucoup de CSS différent par page, tu peux séparer ce CSS du reste mais alors garde un bundle séparé pour les ressources communes qui elles ne changent pas (styles de normalisation, bibliothèques, charte graphique etc...).

    Concernant la visibilité et la maintenabilité d'un grand Gruntfile, puisqu'il fonctionne avec Node tu peux utiliser les modules ES6 et les instructions import/export pour répartir la configuration de tes tâches en différents fichiers. Il y a aussi des plug-ins dédiés à cet effet. Voilà un article à ce sujet (anglais): http://ericnish.io/blog/how-to-neatl...e-grunt-files/

  5. #5
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    merci pour tes remarques, j'ai compris le principe maintenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.0] Doit-on garder les autres versions du Framework ?
    Par zooffy dans le forum Framework .NET
    Réponses: 2
    Dernier message: 26/06/2006, 11h42
  2. Les possibilités du picking
    Par Corpio dans le forum GLUT
    Réponses: 8
    Dernier message: 02/05/2006, 16h02
  3. [VB] Calcul de toute les possibilité
    Par Stan Trinity dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/11/2005, 15h31
  4. Les possibilité que C++ offre par rapport à Pascal Objet
    Par Riko dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 01/02/2003, 21h38
  5. quels sont les possibilitées???
    Par lolo-d dans le forum OpenGL
    Réponses: 11
    Dernier message: 16/05/2002, 00h41

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