如何停止两次Knockout 3.2库加载

我有绑定表达式的问题,如

-where Property是一个可观察的 – 导致显示knockout的可观察函数的实际文本而不是Property应该表示的值。 这在此处讨论在IE8中,KnockoutJS 3.2显示实际可观察​​函数而不是可观察值 。

该问题的原因是正在加载重复的淘汰库文件。 “更新:”部分和链接的SO问题的答案包括一些细节。

我现在需要知道如何防止敲除库被加载两次。 强调加载不仅仅是执行。 到目前为止,我还没有找到任何可以解决这个问题。

RequireJS:由网站使用,但不是由调查页面使用。

SignalR:由页面使用。 我对SignalR有点不熟悉,所以我不能说这会导致多次加载的可能性有多大。

Ajax:也可以使用,但它用于接收JSON数据。

敲除库只有一个明确的引用。

查看网络选项卡,第一个文件是从IE的推测下载function加载的。 第二个文件来自主解析器。 第一个文件已完全下载,然后第二个文件已完全下载。

我无法弄清楚的是一种保持方式:

  • Lookahead Downloader首次下载文件
  • 主要解析器第二次下载文件
  • 第二次执行文件而不更改库文件中的代码。

在这一点上,上述解决方案之一是可以接受的。 任何人都可以提供见解,建议或知道解决方案吗?

我终于搞清楚了。 问题是脚本在页面中列出的顺序。 ASP.NET MVC 5支持可渲染的命名部分。 在这种情况下scripts

布局 –

 @RenderSection("scripts", required: false) 

意见/部分意见 –

 @section scripts { // script includes ... } 

在我的例子中,部分视图不包括脚本部分中的scripts导致它们被预分析器和主分析器解析/下载。

以正确的顺序将所有脚本添加到scripts部分可以解决此问题。 订单已由脚本的依赖项确定。