Require.js Erreur: délai d'attente du Chargement de modules: dorsale,jquerymobile
Je suis en train d'utiliser r.js pour optimiser mon code, mais je continuer à courir à cette erreur:
Traçage dépendances: init
Error: Load timeout for modules: backbone,jquerymobile
La commande, je suis en cours d'exécution est: est-ce
$ java -classpath /Users/dixond/build-tools/rhino1_7R4/js.jar:/Users/dixond/build-tools/closurecompiler/compiler.jar org.mozilla.javascript.tools.shell.Main /Users/dixond/build-tools/r.js/dist/r.js -o /Users/dixond/Sites/omm_mobile/js/build.js
Mon build.js fichier ressemble à ceci:
( {
//appDir: "some/path/",
baseUrl : ".",
mainConfigFile : 'init.js',
paths : {
jquery : 'libs/jquery-1.8.3.min',
backbone : 'libs/backbone.0.9.9',
underscore : 'libs/underscore-1.4.3',
json2 : 'libs/json2',
jquerymobile : 'libs/jquery.mobile-1.2.0.min'
},
packages : [],
shim : {
jquery : {
exports : 'jQuery'
},
jquerymobile : {
deps : ['jquery'],
exports : 'jQuery.mobile'
},
underscore : {
exports : '_'
},
backbone : {
deps : ['jquerymobile', 'jquery', 'underscore'],
exports : 'Backbone'
}
},
keepBuildDir : true,
locale : "en-us",
optimize : "closure",
skipDirOptimize : false,
generateSourceMaps : false,
normalizeDirDefines : "skip",
uglify : {
toplevel : true,
ascii_only : true,
beautify : true,
max_line_length : 1000,
defines : {
DEBUG : ['name', 'false']
},
no_mangle : true
},
uglify2 : {},
closure : {
CompilerOptions : {},
CompilationLevel : 'SIMPLE_OPTIMIZATIONS',
loggingLevel : 'WARNING'
},
cssImportIgnore : null,
inlineText : true,
useStrict : false,
pragmas : {
fooExclude : true
},
pragmasOnSave : {
//Just an example
excludeCoffeeScript : true
},
has : {
'function-bind' : true,
'string-trim' : false
},
hasOnSave : {
'function-bind' : true,
'string-trim' : false
},
//namespace: 'foo',
skipPragmas : false,
skipModuleInsertion : false,
optimizeAllPluginResources : false,
findNestedDependencies : false,
removeCombined : false,
name : "init",
out : "main-built.js",
wrap : {
start : "(function() {",
end : "}());"
},
preserveLicenseComments : true,
logLevel : 0,
cjsTranslate : true,
useSourceUrl : true
})
Et mon init.js ressemble à ceci:
requirejs.config({
//libraries
paths: {
jquery: 'libs/jquery-1.8.3.min',
backbone: 'libs/backbone.0.9.9',
underscore: 'libs/underscore-1.4.3',
json2 : 'libs/json2',
jquerymobile: 'libs/jquery.mobile-1.2.0.min'
},
//shimming enables loading non-AMD modules
//define dependencies and an export object
shim: {
jquerymobile: {
deps: ['jquery'],
exports: 'jQuery.mobile'
},
underscore: {
exports: '_'
},
backbone: {
deps: ['jquerymobile', 'jquery', 'underscore', 'json2'],
exports: 'Backbone'
}
}
});
requirejs(["backbone",], function(Backbone) {
//Execute code here
});
Ce que je fais mal dans ce processus de construction?
- J'ai le même problème , mais ne se produit que dans google chrome , dans votre cas aussi ?
Vous devez vous connecter pour publier un commentaire.
Require.js a une option de configuration appelé waitSeconds. Cela peut aider.
RequireJS waitSeconds
Voici un exemple où waitSeconds est utilisé:
waitSeconds
à quelque chose de plus grand a permis de constituer de se terminer avec succès.waitSeconds
résolu.L'Erreur
J'ai récemment eu un très problème similaire avec un
angularJS
projet à l'aide derequireJS
.Je suis en utilisant google Chrome canary build (
Version 34.0.1801.0 canary
) mais aussi une version stable installé (Version 32.0.1700.77
) montrant exactement le même problème lors du chargement de l'application avecDeveloper console
ouvert:Le développeur de la console est la clé ici puisque je n'ai pas l'erreur lors de la console n'était pas ouvert. J'ai essayé de réinitialiser tous les paramètres de chrome, la désinstallation d'un plugin, ... rien n'y fait jusqu'à présent.
La Solution
Le grand pointeur était un Google groupe de discussion (voir ressources ci-dessous) sur le
waitSeconds
option de configuration. Réglage de 0 a résolu mon problème. Je ne cochez pas cette depuis cette juste définit le délai d'attente à l'infini. Mais comme un correctif au cours de ce développement est tout simplement parfait. Exemple de config:Plus courantes autres causes de cette erreur sont:
paths
etbaseUrl
option)Plus De Ressources
Dépannage page de requireJS: http://requirejs.org/docs/errors.html#timeout point 2, 3 et 4 peuvent être d'intérêt.
Similaire DONC, la question: Ripple - Uncaught Erreur: délai d'attente du Chargement de modules: app http://requirejs.org/docs/errors.html#timeout
Une relative Google groupes de discussion: https://groups.google.com/forum/#!topic/requirejs/70HQXxNylYg
Dans le cas où d'autres personnes ont ce problème et encore de la difficulté avec elle (comme je l'ai été), ce problème peut également provenir de dépendances circulaires, par exemple, A dépend de B, et B dépend de A.
La RequireJS docs ne pas mentionner que les dépendances circulaires peuvent causer de la "Charge" dépassement de délai d'erreur, mais maintenant, j'ai observé pendant deux dépendances circulaires.
Valeur par défaut pour waitSeconds = 7 (7 secondes)
Si la valeur est 0, le délai d'attente est complètement désactivé.
src: http://requirejs.org/docs/api.html
La raison pour laquelle le problème est que Require.js s'exécute dans le délai depuis que le projet pourrait avoir des dépendances pour les grandes bibliothèques. Le délai d'attente par défaut est de 7 secondes. L'augmentation de la valeur de cette option de configuration (appelé waitSeconds) elle n'en résout, bien sûr, mais ce n'est pas la bonne approche.
Bonne approche serait de améliorer le temps de chargement d'une page. L'une des meilleures techniques pour accélérer le chargement des pages est minification - le processus de compression du code. Il y a quelques bons outils pour la minification comme r.js ou webpack.
Je ne reçois cette erreur lors de l'exécution de tests sur Mobile Safari 6.0.0 (iOS 6.1.4).
waitSeconds: 0
m'a donné un succès pour l'instant. Je vais mettre à jour si mon build échoue sur ce nouveau