不匹配的匿名define()模块:function(){"use strict";return axe}

9

我不知道为什么会出现这个奇怪的错误:

"匿名define()模块不匹配: function(){"use strict";return axe} http://requirejs.org/docs/errors.html#mismatch"

在设置了一些JS断点之后,我找到了错误源代码:

a [browserlink] Line 363: 
    /*! aXe v2.0.5
 * Copyright (c) 2016 Deque Systems, Inc.
 * ...etc... */
...etc...&&define([],function(){"use strict";return axe}),...etc...

因此,我意识到问题出在动态生成的“browserlink”代码中,于是我在Visual Studio中禁用了“browserlink”,问题就解决了(一切都完美,没有问题)。似乎function(){"use strict";return axe}被卡在了requirejs队列中('defQueue'),这发生在Web应用程序首次启动时,但尚未出现任何错误。只有在稍后执行使用requirejs的操作时才会出现错误。经过一些分析,我发现requirejs中的这个调用:

//Grab defines waiting in the global queue.
intakeDefines();

这里出现了错误:

while (defQueue.length) {
    args = defQueue.shift();
    if (args[0] === null) {
        return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.length - 1]));

其中 args == [null,[],"function(){"use strict";return axe}"]。

问题是,有人能帮我弄清为什么会存在这种冲突吗?这是VS浏览器链接的某种错误吗?


2
你的第一个解决方案今天救了我的命。谢谢。 - Ryan Bennett
很高兴能帮助到你 ;) - James Wilkins
2个回答

12

看起来与WebAccessibilityChecker有关,请尝试禁用该扩展,然后它应该可以正常工作。

我已经在这里创建了一个问题。


我已经在桌子上磕了几个小时,试图解决这个问题。你的答案解决了我的问题。非常感谢! - Travis Wilson

7

我在问题中提到过这一点,但是对于那些正在寻找解决方案的人来说,一个解决办法是暂时在 Visual Studio 中禁用“browserlink”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接