我在浏览我的 webapp 时遇到此错误第一次(通常在禁用缓存的浏览器中)。
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
});
});
有谁知道这个错误的确切含义以及为什么会发生?
source file , 一个 short discussion关于它在 github 问题页面
最佳答案
正如 AlienWebguy 所说,根据文档,require.js can blow up如果
- 您在自己的脚本标记中有一个匿名定义(“调用 define() 的模块没有字符串 ID”)(我假设它们实际上是指全局范围内的任何地方)
- 您的模块名称有冲突
- 您使用加载器插件或匿名模块但不使用 require.js 的优化器来捆绑它们
我在将使用 browserify 构建的包与 require.js 模块一起包含时遇到了这个问题。解决方案是:
一个。在脚本标签中加载非 require.js 独立包 before require.js 被加载,或者
B.使用 require.js(而不是脚本标签)加载它们
关于javascript - 不匹配的匿名 define() 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15371918/