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

Bibliothèques & Frameworks Discussion :

Build et optimisation. Comment ça marche ?


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut Build et optimisation. Comment ça marche ?
    Bonjour à tous,

    Dojo c'est bien, mais quand c'est pas optimisé c'est pas terrible...
    Quelqu'un pourrait-il m'expliquer comment faire pour créer des builds ?

    J'ai essayé de suivre le tuto ici, mais je n'y arrive pas.

    Je voulais commencer par quelque chose de simple, j'ai donc essayé avec le profile 'Standard'.
    Si j'ai bien compris il doit créer un Build des scripts dojo ?

    Voici la commande que je lance (je suis dans le répertoire "js/util/buildscripts"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./build.bat action=release releaseName=dojo-release profile=standard htmlFile=../../../../WEB-INF/jsp/views/admin_account.jsp
    Et j'ai l'erreur suivante :
    js: uncaught JavaScript runtime exception: ReferenceError: "location" n'est pas dÚfini
    Dans mon script JSP j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    <!--
    	dojo.require("controllers.AdminAccountController");
    	dojo.ready(function(){new controllers.AdminAccountController().startup();});
    //-->
    </script>
    En fait je comprends le principe des builds : concaténer les scripts et modules Dojo en 1 minimum de fichiers pour éviter les requêtes... Mais je n'arrive pas à les créer

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Tu utilises quelle version de dojo ?

    ERE

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut
    Salut,

    J'utilise la version 1.7

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Le système de build a été refait en v 1.7. Regarde ici tu trouveras les infos: http://livedocs.dojotoolkit.org/build/index

    ERE

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut
    Bonjour Emmanuel,

    Merci pour le lien. Il m'a été utile dans le sens où maintenant je n'ai plus l'erreur. La build se termine même avec succès.

    Par contre ça ne me fait rien d'autre que d'encapsuler mes classes dojo de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    //>>built
    // wrapped by build app
    define("controllers/_Controller", ["dijit","dojo","dojox","dojo/require!lib/utils"], function(dijit,dojo,dojox){
    dojo.provide("controllers._Controller");
     
    dojo.require("lib.utils");
     
    /**
     * The top level Controller. All page controller must inherit directly or
     * indirectly from _Controller.
     */
    dojo.declare("controllers._Controller", null, {
    //...
    }
    }
    C'est pareil avec toutes mes classes. On est donc loin de la concaténation de tous mes scripts en 1 seul...
    Et forcément le résultat n'est pas au rendez-vous...

    Voici mon arborescence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    webapp/
      jsp/
        views/
      resources/
        images/
        js/
          main.profile.js        
          controllers/
            _Controller.js
            project/
              ProjectController.js
              documents/
                DocumentsController.js
          dtk/
            dojo/
            dijit/
            dojox/
          util/
            lib/
            release/
    J'ai créé mon profile main.profile.js de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    var profile = {
        basePath:".",
        releaseDir:"./release",
        dirs:[
           ["./controllers","./release/controllers"],
        ],
        // now a typical loader packages configuration
        packages:[{
            name:"dojo",
            location:"./dtk/dojo"
        },{
            name:"dijit",
            location:"./dtk/dijit"
        },{
            name:"dojox",
            location:"./dtk/dojox"
        },{
            name:"lib",
            location:"./lib"
        },{
            name:"controllers",
            location:"./controllers"
        }]
    };
    Et enfin je lance la commande suivante :
    build.bat --profile ../../../main --release
    Qu'ais-je mal fait ???
    Please help

    J'ai mis le build-report en pièce jointe.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 21h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

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