143 votes

Module define() anonyme mal adapté

J'obtiens cette erreur lorsque je navigue dans mon webapp pour la première fois (généralement dans un navigateur dont le cache est désactivé).

Erreur : Module define() anonyme mal adapté : function (require) {

HTML :

<html>
   .
   .
   .
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
   <script> var require = { urlArgs: "v=0.4.1.32" }; </script>
   <script data-main="assets/js/main" src="assets/js/libs/require.js"></script>
   <script src="assets/js/ace/ace.js?v=0.4.1.32"></script>
   </body>
</html>

JS :

$(function () {
    define(function (require) {
        // do something
    });
});

Quelqu'un sait-il exactement ce que signifie cette erreur et pourquoi elle se produit ?

fichier source , a courte discussion sur la page des problèmes de github

5voto

Vector Points 617

Sachez que certaines extensions de navigateur peuvent ajouter du code aux pages. Dans mon cas, j'avais un plugin "Emmet dans toutes les zones de texte" qui a perturbé mon requireJs. Assurez-vous qu'aucun code supplémentaire n'est ajouté à votre document en l'inspectant dans le navigateur.

0voto

Binita Bharati Points 393

Je voyais aussi la même erreur sur la console du navigateur pour un projet basé sur require.js . Comme indiqué sous MISMATCHED ANONYMOUS DEFINE() MODULES à l'adresse https://requirejs.org/docs/errors.html Cette erreur a de multiples causes, la plus intéressante dans mon cas étant la suivante : If the problem is the use of loader plugins or anonymous modules but the RequireJS optimizer is not used for file bundling, use the RequireJS optimizer . Il s'avère que, Google Closure était utilisé pour fusionner/minifier le code Javascript pendant la construction. La solution a été de supprimer le Google closure et utiliser à la place le compilateur require.js L'optimiseur de l'entreprise ( r.js ) pour fusionner les fichiers js.

-2voto

Rose Perrone Points 14478

J'ai eu cette erreur lorsque j'ai ajouté l'a requirejs dans un fichier qui définit un module anonyme. Lorsque je supprime cet appel, l'erreur disparaît.

define({
  app_name: "MyExampleApp",
  shim: {
    'ember': {
      deps: ['handlebars', 'jquery'],
      exports: 'Ember'
    },
    'jquery.ui': ['jquery']
  },
  paths: {
    'App': 'app/main',
    'models': 'app/models',
    'views': 'app/views',
    'controllers': 'app/controllers',
    'templates': 'app/templates',
    'routes': 'app/routes',
    /*libs*/
    'jquery': 'libs/jquery/1.9.1/jquery',
    'handlebars': 'libs/handlebars/1.0.rc.3/handlebars',
    'ember': 'libs/ember/1.0.0-rc.2/ember',
    'jquery.ui': 'libs/jquery.ui/1.9.2/jquery-ui-1.9.2.custom.min',
    'bootstrap': 'libs/bootstrap/2.2.2/js/boostrap',
    /*requirejs-plugins*/
    'text': 'libs/requirejs-plugins/text',
    'hbs': 'libs/requirejs-plugins/hbs',
    'domReady': 'libs/requirejs-plugins/domReady'
  },
  /*hbs plugin options*/
  hbs: {
    disableI18n: true,
    templateExtension: "html"
  }
});

requirejs(['jquery', 'handlebars', 'ember'], function($, hb, em) {
  console.log($, hb, em);
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X