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 :

Travailler sous forme de projet (avec plusieurs fichiers .js) ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut Travailler sous forme de projet (avec plusieurs fichiers .js) ?
    Salut,

    Est-ce possible de travailler sous forme de projet (avec plusieurs fichier .js) ? Connaissez-vous un IDE qui permet cela ?
    Comment faites-vous quand vous avez plusieurs fichiers dépendant les uns des autres ?

    Je veux dire un peu comme Java par exemple : on a plusieurs fichiers (une classe par fichier), des packages et les "imports"...

    - Si j'ai bien compris ES6 permettrait cela mais ce n'est pas encore pris en compte par les navigateurs, c'est bien ça ?
    - J'ai commencé à lire des truc sur Require.js, include.js, Babel, Browserify... Mais je suis un peu perdu pour l'instant...

    Je n'ai pas encore compris si on peut utiliser ces outils durant la phase de développement ou bien si c'est seulement après, pour la distribution...

    Je me doute que c'est un sujet vaste...

    Merci.

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    il existe des outil comme en java
    grunt gulp maven etc

    ou tout simplement si ce n'est pas gros une liste de balise script dans la page html

    A+JYT

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Merci. Il n'y a pas foule dans ce fil... (Sujet difficile je pense)

    Alors dans mes lectures j'ai effectivement croisé grunt et gulp, si j'ai bien compris ça permet d’exécuter des taches automatiquement mais les taches en question sont développées dans des modules extérieurs... ???

    Sinon c'est difficile de comprendre l’intérêt si on ne comprends pas le problème de départ :

    - Est-ce qu'on utilise ces outils (Require.js, include.js, Babel, Browserify...) pour éviter d'avoir à insérer manuellement une liste plus ou moins longue de balise <script> ?

    J'ai cru comprendre qu'un des problèmes c'est qu'il faut insérer les scripts dans le bon ordre sinon ça ne fonctionne pas... Si on le fait manuellement il faut donc connaitre cet ordre...

    Un autre c'est que les scripts peuvent dépendre les uns des autres, là c'est chaud, je ne vois pas comment on peut faire manuellement, ça me semble plus difficile de comprendre comment les outils règlent ce problème là... Y a-t-il des cas insolubles ?

    Je suppose aussi que ces outils veillent à ce que les scripts ne soient chargés qu'une seule fois ? Mais je me demande si il n'y a pas des cas insolubles (sans charger plusieurs fois).



    PS : J'ai lu cet article : Modularité -- JavaScript Éloquent

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    il existe des outils pour gérer les dépendances

    certains framework en intègre un en natif (sencha par exemple)
    dans ce cas le framework est fournis avec un outil (ANT ou ligne de commande) qui parse tout ton code gère les dépendances et te génère un seul script js compacté ou pas

    sinon requireJS fonctionne différemment tu lui donne une liste de dépendance et le script qui en dépend
    ainsi de proche en proche il reconstruit tout l'arbre (comme le fait le import en java)
    Mais c'est à l’exécution qui va calculer les dépendances.

    là encore des outils permettent de parser le code relever toutes les dépendances et soit te générer un dossier avec tout tes script utilisés soit un seul script compacté ou pas.

    on peut voir ces outils comme une phase de compilation.
    c'est entre autre ce que font les outils Abstract Syntax Tree comme http://shift-ast.org/

    Grunt Gulp est un peut comme Ant mais en JS
    Ils possèdent quantité de tâche plugable pour générer un projet.

    A+JYT

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Merci encore.

    Citation Envoyé par sekaijin Voir le message
    là encore des outils permettent de parser le code relever toutes les dépendances et soit te générer un dossier avec tout tes script utilisés soit un seul script compacté ou pas.
    Oui justement j'ai cru comprendre que c'est ce que fait Browserify, certains disent en gros qu'il permet de travailler dans le navigateur (client) comme on le fait avec node.js (il parait car je ne connait pas vraiment)... Genre on peut mettre des require() partout...

    Mais j'en déduis que c'est seulement pour la distribution alors ? Pas pour la phase de développement avec débogage dans le navigateur ? Car le navigateur ne connait pas require() ?


    EDIT :

    Citation Envoyé par sekaijin Voir le message
    on peut voir ces outils comme une phase de compilation.
    Ah oui ok, donc peut-être qu'avec ces outils on "compile" de sorte que le code soit ensuite exécutable dans le navigateur ?

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    oui il existe des tâche grunt gulp etc qui prennent tous les requires pour organiser l'arbre de dépendances et copient dans l'ordre approprié le contenu du code dans un seul fichier js.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/09/2012, 16h07
  2. [Maven2] projets avec plusieurs confs
    Par Deaf dans le forum Maven
    Réponses: 4
    Dernier message: 20/03/2007, 15h50
  3. Réponses: 1
    Dernier message: 06/03/2007, 20h29
  4. compilation projet ( en plusieur fichier )
    Par damien77 dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 21/02/2007, 23h46
  5. [linux][gcc] Comment travaille t-on avec plusieurs fichiers?
    Par kaygee dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 02/04/2004, 17h48

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