最新的require.js不能使用最新的jQuery Mobile和knockout.js

时间:2012-11-01 01:56:15

标签: jquery jquery-mobile knockout.js requirejs

我有一个ASP.NET Web API单页面应用程序(所有HTML5 / CSS3 / JavaScript只与Web API通信以传输JSON数据),它与require.js v2.0.4,knockout.js v2.2.0一起使用,和jQuery Mobile v1.2.0。使用Nuget,我升级到了最新版本的require.js(v2.1.1)。 (注意:我只使用require.js。我删除了r.js.我以前从未需要它,这只是前一天。)而且,现在我的应用程序无法正常工作。

在浏览器工具的“网络”选项卡上,我可以看到脚本按正确顺序下载(即jquery,jquery.mobile,其他脚本包括knockout.js,然后是require.js)。但是,在错误控制台上,我看到以下错误:

require.js line 1746
Error: Mismatched anonymous define() module: function ($) {
            factory( $, root, doc );
            return $.mobile;
        }

require.js line 1746
Mismatched anonymous define() module: function (koExports) {
// Internally, all KO objects are attached to koExports (even the non-exported ones whose names will be minified by the closure compiler).
// In the future, the following "ko" variable may be made distinct from "koExports" so that private objects are not externally reachable.
var ko = typeof koExports !== 'undefined' ? koExports : {};
(a lot more error message here – left out for brevity)

最新版本的require.js,knockout.js和jQuery Mobile是否存在兼容性问题? 有没有其他人有同样的问题/错误? 如何让所有这些第三方JavaScript库协同工作?

感谢。

1 个答案:

答案 0 :(得分:0)

我相信我让它运转了。我错放了页面和内容的数据属性(jQuery Mobile的东西)。我不知道为什么我也得到了淘汰赛的错误。但是,哦,好吧。现在我接下来的问题 - 获取sammy.js(仅用于基于散列的导航)和jQuery Mobile可以很好地一起玩(如果它甚至可能......)。 感谢。