由于某种原因,我有这个奇怪的错误:
"不匹配的匿名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的某种错误吗?