匿名的define()模块不匹配 [英] Mismatched anonymous define() module

查看:275
本文介绍了匿名的define()模块不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我第一次浏览 webapp 时(通常是在已禁用缓存的浏览器中)出现此错误。

I'm getting this error when I browse my webapp for the first time (usually in a browser with disabled cache).


错误:不匹配的匿名define()模块:function(require){

Error: Mismatched anonymous define() module: 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
    });
});

无论如何,知道这个错误究竟是什么意思及其发生的原因?

Anyway know what exactly this error mean and why its happening?

源文件关于它的讨论

推荐答案

就像AlienWebguy所说,根据文档, require.js可能会爆炸,如果

Like AlienWebguy said, per the docs, require.js can blow up if


  • 你有一个匿名的定义(模块调用define(),没有字符串ID )在自己的脚本标签中(我认为它们实际上意味着全球范围内的任何地方)

  • 您的模块名称冲突

  • 您使用加载程序插件或匿名模块但不要'使用require.js的优化器捆绑它们

  • You have an anonymous define ("modules that call define() with no string ID") in its own script tag (I assume actually they mean anywhere in global scope)
  • You have modules that have conflicting names
  • You use loader plugins or anonymous modules but don't use require.js's optimizer to bundle them

我遇到了这个问题,同时包含了使用browserify和require.js模块一起构建的bundle。解决方案是:

I had this problem while including bundles built with browserify alongside require.js modules. The solution was to either:

A。在加载require.js之前加载脚本标记中的非require.js独立包,或

A. load the non-require.js standalone bundles in script tags before require.js is loaded, or

B.使用require.js(而不是脚本标记)加载它们

B. load them using require.js (instead of a script tag)

这篇关于匿名的define()模块不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆