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 :

Créer un layer personnalisé


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut Créer un layer personnalisé
    Bonjour,

    Dans des soucis d'optimisation, je tente de créer mon propre layer avec dojo. Mais je rencontre quelques problèmes que je cherche à résoudre depuis plusieurs heures. J'ai donc créé un fichier de profil dans /buildscripts/profiles nommé: polls.profile.js avec le code suivant:
    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
     
    dependencies = {
    	layers: [
    	{
    		name: "../polls/polls.js",
    		resourceName: "polls.layer",
    		dependencies: [
    		"dijit.layout.ContentPane",
    		"dijit.layout.BorderContainer",
    		"dijit.Dialog",
    		"dijit.form.CheckBox",
    		"dijit.form.Button",
    		]
    	},
    	],
    	prefixes: [
    	["dijit","../dijit"],
    	["dojox","../dojox"],
    	]
    }
    j'ai l'arborescence suivante:

    --dojo
    --dijit
    --dojox
    --util

    Lorsque j'entre la commande de build j'ai les erreurs suivantes:
    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
     
     
    ./build.sh profile=polls action=release version="1.3.2"
    release:  Using profile: profiles/polls.profile.js
    release:  Using version number: 1.3.2 for the release.
    release:  Deleting: ../../release/dojo
    release:  Copying: ../../dojo/../dijit to: ../../release/dojo/dijit
    release:  Copying: ../../dojo/../dojox to: ../../release/dojo/dojox
    release:  Copying: ../../dojo to: ../../release/dojo/dojo
    release:  Building dojo.js and layer files
    js: uncaught JavaScript runtime exception: TypeError: Cannot read property "dojo.foo" from undefined
     
    js: uncaught JavaScript runtime exception: TypeError: Cannot find function registerModulePath in object [object Object].
     
    macbook-pro-de-julien-lietart:buildscripts Tavarez$
    J'ai pourtant suivi les instructions données dans pas mal de sites mais pas moyen. J'ai bien un dossier release qui se crée avec une librairie dojo à l'intérieur mais je sais vraiment pas si elle fonctionne.

    Quelqu'un aurait-il une solution ou pourrait m'éclaircir sur le problème car très peu de cas similaires apparemment.

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut
    Bon apparemment ces erreurs n'empêchent pas le code d'être optimisé mais j'aimerai toutefois parvenir à les enlever ou tout au moins les comprendre...

  3. #3
    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,

    As tu lu l'excellent article de Mikaël ? http://mikael-morvan.developpez.com/...pt/dojo/build/

    ERE

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut
    Oui j'ai lu cet article entre 2. Mais le problème persistait toujours, j'ai donc suivi un post en anglais qui m'a permis de trouver une solution. J'ai téléchargé directement le fichier src de la 1.3.2 et je l'ai compilé avec mon propre profil et là ça fonctionne sans erreur. Le problème maintenant reste de l'intégrer avec Zend. Je dois avouer que je ne comprend pas tout sur ce système de build. Lorsqu'on compile ça copie tout dans un nouveau répertoire: release/nomdelarelease qui contient:
    dojo
    dijit
    dojox
    et un repertoire nomdelarelease qui contient lui même un fichier nomdelarelease.js.
    Pour que ce layer soit pris en compte je dois intégrer tous le dossier qui contient la nouvelle librairie ou seulement le fichier javascript nomdelarelease.js? Car si j'ai bien compris le système de build compacte toute la release dans cet unique fichier pour minimiser les requêtes. Or, lorsque je fais ça il ne trouve pas certains fichiers JS à l'execution. Autre question, avec ce nouveau build est-ce que je dois toujours faire dojo.require(nomdumodule)?

    Merci

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut
    Bon alors après plusieurs expérimentations celle qui fonctionne le mieux est donc de télécharger le fichier src dojo (pas celui qui est proposé directement sur le site). Puis d'utiliser un fichier de build avec comme nom:"name:nomdulayer.js" et non pas "name:../dossier/nomdulayer.js" et là ça a l'air de fonctionner. Reste à optimiser les feuilles de style c'est ça qui est le plus long au chargement. Quelqu'un aurait-il une idée? par exemple concatener.


    Merci

  6. #6
    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,
    Citation Envoyé par Tavarez59 Voir le message
    Bon alors après plusieurs expérimentations celle qui fonctionne le mieux est donc de télécharger le fichier src dojo (pas celui qui est proposé directement sur le site). Puis d'utiliser un fichier de build avec comme nom:"name:nomdulayer.js" et non pas "name:../dossier/nomdulayer.js" et là ça a l'air de fonctionner. Reste à optimiser les feuilles de style c'est ça qui est le plus long au chargement. Quelqu'un aurait-il une idée? par exemple concatener.

    Merci
    Très étonnant comme comportement

    Dans le cas des css importés avec @import, tu peux ajouter l'option cssOptimize=comments.keepLines qui les regroupera tous en un seul fichier.

    Et pour mon info, pourquoi utiliser resourceName: "polls.layer" dans ton layers ?

    ERE

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut
    Oui c'est bizarre que ça ne fonctionne que comme ça. Si j'utilise un dossier racine il me trouve pas les fichier nls je sais pas pourquoi. Sinon merci pour le tuyau je vais essayer d'optimiser les css avec ça. Et en fait je ne sais pas pourquoi j'utilise polls.layer j'ai lu ça dans un tuto et j'ai bêtement suivi.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/01/2008, 22h11
  2. [VB.Net] Créer un type personnalisé
    Par andlio dans le forum VB.NET
    Réponses: 5
    Dernier message: 20/07/2007, 16h14
  3. Comment créer un menu personnalisé avec Access2007
    Par marionAccess dans le forum Access
    Réponses: 6
    Dernier message: 24/01/2007, 16h29
  4. Créer un formulaire personnalisé
    Par dddodo dans le forum IHM
    Réponses: 19
    Dernier message: 08/01/2007, 13h17
  5. Réponses: 5
    Dernier message: 24/10/2006, 21h18

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