RequireJS Erreur non Interceptée: Dépareillées anonyme define() module
À l'aide de RequireJS avec la colonne vertébrale dans un minimum d'application, je reçois toujours
Uncaught Error: Mismatched anonymous define() module
même si l'application continue à fonctionner. Ici, il est:
https://assets.site44.com/admin/
Je suis, y compris jQuery, le soulignement, l'épine dorsale de index.html car je cherche à raccourcir la définir() standard dans chaque vue/modèle.
https://assets.site44.com/admin/js/main.js se compose de
var l = console.log.bind(console)
var app
//l("AA")
require.config({
paths: {
//Major libraries
/*jquery: 'libs/jquery/jquery-min',
underscore: 'libs/underscore/underscore-min', //https://github.com/amdjs
backbone: 'libs/backbone/backbone-min', //https://github.com/amdjs
*/
//Require.js plugins
text: 'text'
}
})
function initApp() {
console.log("BB")
require([
'views/AppView'
], function(AppView){
l("CC")
app = new AppView()
$("#app").html(app.render())
})
}
$(document).ready(initApp)
Je ne peux pas comprendre la question de docs ou de ce répondu à la question:
Incompatibles anonyme define() module
Merci
Votre code a beaucoup d'erreurs de syntaxe, il manque surtout des points-virgules. J'aimerais vraiment vous recommandons de tri de ceux de la première. Peut-être décommentez les chemins de jQuery, de Soulignement et de la colonne vertébrale, depuis votre code s'appuie sur eux d'être inclus, et de les inclure dans votre
Salut Simon, je voudrais éviter la définition de jQuery, de Soulignement et de la colonne vertébrale dans TOUTES les vues/modèle/de la collection. Je ne suis pas sûr de ce que les erreurs de syntaxe de vous référer à: ajouter des points-virgules ne fera pas cette erreur de s'en aller.
Vous n'avez pas besoin de définir l'ensemble d'entre eux dans chaque vue, de modèle et de collection, mais vous aurez certainement besoin d'épine Dorsale. Vous pouvez laisser de côté les points-virgules si vous avez confiance en JavaScript est intrinsèquement peu fiables automatique semi-colon insertion de la fonctionnalité. Pas sûr pourquoi vous voulez, si. C'est une source commune de bugs qui sont difficiles à suivre.
AppView
et MyModel
define()
appels.Salut Simon, je voudrais éviter la définition de jQuery, de Soulignement et de la colonne vertébrale dans TOUTES les vues/modèle/de la collection. Je ne suis pas sûr de ce que les erreurs de syntaxe de vous référer à: ajouter des points-virgules ne fera pas cette erreur de s'en aller.
Vous n'avez pas besoin de définir l'ensemble d'entre eux dans chaque vue, de modèle et de collection, mais vous aurez certainement besoin d'épine Dorsale. Vous pouvez laisser de côté les points-virgules si vous avez confiance en JavaScript est intrinsèquement peu fiables automatique semi-colon insertion de la fonctionnalité. Pas sûr pourquoi vous voulez, si. C'est une source commune de bugs qui sont difficiles à suivre.
OriginalL'auteur user3036808 | 2013-11-27
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas. Si vous google "Erreur non Interceptée: Dépareillées anonyme define() module" vous remarquerez que le premier lien est pour la FAQ de RequireJS expliquant que
--EDIT
Si vous utilisez grunt vous pouvez utiliser grunt-générer de créer facilement des modules en fonction de vos propres modèles personnalisés, quand passe-partout de surcharge menace de ruiner votre journée 🙂
Avertissement: j'ai écrit le plugin Grunt.
Avez-vous essayé d'accéder par le biais de la
window
objet? I. e.window.$
. Je ne le recommande pas. Pourquoi ces quelques lignes de code en plus pour vous dérange tant?1. J'aimerais avoir moins passe-partout que possible. 2. La solution n'est pas applicable à la manipulation des plugins jQuery de Comparer: define([ 'jquery', 'underscore', 'squelette', "modèles/Monmodèle', 'texte!templates/mainTemplate.html' ], function($, _, de la colonne vertébrale, Monmodèle, mainTemplate) { ` : ` define([ 'modèles/Monmodèle', 'texte!templates/mainTemplate.html' ], function(Monmodèle, mainTemplate){ `
J'ai peur, il n'y a pas d'autres options.
OriginalL'auteur Creynders
Trouvé comment se débarrasser de lui: utiliser require() directement, plutôt que dans le prêt gestionnaire
Trouvé le problème et résolu pour de bon: less.js dû être inclus avant require.js
Y compris less.js "avant require.js" n'est pas la "bonne solution" — qui est d'avoir des
requirejs.config()
poignée less.js, éventuellement avec une cale si nécessaire.OriginalL'auteur user3036808