J'ai lu O'Reilly Book "Dojo - le GUID définitif" mais quelque chose n'est toujours pas définitif pour moi.
Ils parlent de "bootstrapping" et d'obtenir le dojo.css de l'AOL CDN ". p>
Lorsque je teste sur ma machine, devrais-je utiliser le CDN? Ou devrais-je attendre et utiliser cela Seulement quand je déploie? P>
Deuxièmement, le livre parle de CDN pour Dojo, mais pas pour Dijit. P>
Je développe sur Google App Moteur (GAE) - Donc, avoir le 2000 + Les fichiers dojo / dijit dans mon répertoire JavaScript sont un peu ennuyeux, car il ralentit mon téléchargement sur GAE à chaque fois. P>
Firebug me donne cette erreur:
Obtenez http: // localhost: 8080 / DIJIT / NLS / DIJIT-ALL_EN-US .js 404 non trouvé
Obtenez http: // localhost: 8080 / dijit / _editor / plugins / FontChoice.js A> 404 non trouvé p> J'ai téléchargé l'échantillon d'ici:
http://archive.dojotoolkit.org/nightly/ Dojotoolkit / Dijit / Thèmes / Themeterster.html? Theme = Soria
Et j'aimerais simplement «simplement» le faire courir sur ma machine sous le moteur Google App local (qui est le localhost: 8080 que vous voyez dans les URL ci-dessus). P> Je vois cette déclaration qui provoque probablement la deuxième 404 ci-dessus:
dojo.require ("dijit._editor.plugins.fontchoice"); p> une autre erreur:
Impossible d'accéder à la fermeture optimisée
Précharge ("EN-US") DIJIT-ALL.JS (ligne 479)
anonyme ("dijit.nls.dijit-tout", ["root", "ar", "ca", 40 plus ... 0 = root 1 = ar 2 = ca 3 = cs 4 = da 5 = de 6 = DE-DE 7 = EL 8 = EN 9 = EN-GB]) DIJIT-ALL.JS (ligne 489)
dijit-all.js ()
dojo.i18n._searchLocalePath (locale, true, fonction (LOC) {\ n p> pour continuer pour le moment, je vais essayer de copier toute la bibliothèque de dijit, mais y a-t-il une solution à court terme ? p> Mon script actuel comprend une ressemblance à ceci:
P> <script type="text/javascript" src="/javascript/dijit.js"></script>
<script type="text/javascript" src="/javascript/dijit-all.js" charset="utf-8"></script>
3 Réponses :
Pour répondre à votre première question, utilisez la version source complète localement pour le développement, de sorte que vous puissiez obtenir des informations de débogage plus claires qui pointe une ligne lisible dans la source, plutôt que la ligne unique, la version minifiée est réduite. Utilisez le CDN pour la production. P>
Vous avez quelques options réellement: p>
Vous pouvez utiliser le CDN pour tout (bien que l'utilisation de la source complète localement vous donne de meilleurs messages d'erreur). Google les a aussi bien . Dijit est ici: http://ajax.googleapis.com /ajax/libs/dojo/1.3.2/dijit/dijit.js FYI. Cela présente de nombreux avantages à mon avis. La mise en cache de l'utilisateur du JS étant le principal. P> li>
Construisez un fichier en couches. Je pense que le livre d'O'Reilly a une section à ce sujet, mais le livre PragProg est mieux à cet égard imo. Il y a aussi ce Doc sur Dojocampus.org à propos de la construction. Cela éliminera les fichiers dont vous avez besoin pour télécharger sur GAE et accélérera votre chargement de l'application. C'est en fait ce que je fais pour réduire les demandes http. P> li>
continue de faire ce que vous faites. :) p> li> ol>
En ce qui concerne les erreurs que vous voyez environ 404 pour les fichiers en US sont essentiellement inoffensives. voici une meilleure description . P>
Vous pouvez également recharger des fichiers dijit en utilisant dijit.uncompressed.js et dijit-all.js et causant des problèmes dans le processus ... mais je ne suis pas sûr de celui-ci. P>
Je veux juste préciser que lorsque vous utilisez CDN, tout ce que vous devez inclure est le script principal de DOJO. Le reste sera automatiquement tiré automatiquement lorsque vous Si pour certaines raisons (techniques), vous ne voulez pas utiliser le chargeur X-domain (CDNS Utilisez ce type de chargeur), vous pouvez faire une construction personnalisée (bien décrite dans de nombreux endroits). Après la construction, vous copiez Au cours de la construction, vous créerez un fichier mini-minificateur unique (ou quelques couches), qui incluront tout le code Dojo JavaScript que vous utilisez. Si vous utilisez des widgets Dojo, leurs modèles seront déjà inlinés, de sorte que vous n'engagez pas les coups pour eux. Dans le cadre des fichiers CSS de Build CSS, sont également combinés et minifiés également. Donc, dans la plupart des cas, vous n'aurez que deux fichiers: une couche de dojo, qui inclut tout + votre code personnalisé et un fichier CSS. Dans des cas plus complexes, vous pouvez avoir plus de fichiers, mais nous parlons généralement de poignée. P>
Comment vous assurer que tout est dans la construction? Indiquez votre analyseur de réseau préféré (en-têtes HTTP en direct, Firebug, Fiddler2 ou Charles Proxy ferait bien) et voyez si vous appuyez sur des fichiers en dehors de votre construction. Si vous le faites - incliquez-les dans la construction ou essayez de déterminer pourquoi ils sont demandés et éliminez ces demandes (certains appels liés à la localisation sont corrects). P>
Personnellement, je commencerais avec l'option CDN - fonctionne bien, pas de tracas, hébergé par quelqu'un d'autre avec des tuyaux de graisse. P> dojo.require () code> eux. P>