Require.js:“不匹配的匿名define()模块”错误

时间:2015-09-25 13:00:47

标签: requirejs amd

我正在开发基于模块的网上商店的JavaScript插件,我使用require.js作为模块加载器将其集成到客户的HTML模板中。

这背后的想法是让客户只将一行代码放入他们的模板中,所有内容都会自动加载。

当网店有第三方脚本时,我会遇到问题,这些脚本将自己匿名定义为AMD模块,但是被单独的<script>标记包含在内。在这种情况下,我会收到如下错误:

Uncaught Error: Mismatched anonymous define() module:
[..]
http://requirejs.org/docs/errors.html#mismatch

我没有办法对此施加影响。我也不可能影响模板中我的客户放置单线的位置。

有没有办法告诉require.js只关注我在代码中命名的模块,并忽略任何其他引用的模块定义JavaScripts?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我的解决方法是将所有require / define / requirejs对象放在另一个对象下,例如foo.require,foo.define,foo.requirjs。我现在在需求页面中发现了类似于我所做的事情:

http://requirejs.org/docs/faq-advanced.html

希望这可以帮到你!