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...

因此,意识到它是在动态生成的“浏览器链接”代码中,我在 Visual Studio 中禁用了“浏览器链接”,问题就消失了(一切都很完美,没有问题)。似乎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 browserlink的某种错误吗?

4

2 回答 2

12

这似乎与WebAccessibilityChecker因此尝试禁用扩展程序有关,然后它应该再次工作。

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

于 2016-08-22T14:42:48.983 回答
7

我在问题中确实提到了这一点,但对于那些寻找解决方案的人来说,一种解决方法是暂时在 Visual Studio 中禁用“浏览器链接”。

于 2016-08-23T16:31:21.797 回答