Javascript文件顺序、捆绑和缩小问题

Javascript文件顺序、捆绑和缩小问题,javascript,asp.net,iis-7,momentjs,iis-8,Javascript,Asp.net,Iis 7,Momentjs,Iis 8,我在我的ASPNET捆绑包中包括了moment Fig "~/Scripts/bootstrap.min.js", "~/Scripts/moment-with-locales.min.js", 我有两个web服务器: 答:Windows Server 2008、IIS 7.5、.NET 4.6.2 B:Windows Server 2012、IIS 8.0、.NET 4.6.2 在Firebug中使用B时,

我在我的ASPNET捆绑包中包括了moment Fig

                    "~/Scripts/bootstrap.min.js",

                    "~/Scripts/moment-with-locales.min.js",
我有两个web服务器:

  • 答:Windows Server 2008、IIS 7.5、.NET 4.6.2
  • B:Windows Server 2012、IIS 8.0、.NET 4.6.2
在Firebug中使用B时,我看到两者的GET返回为200 OK,但在控制台中我看到“时刻未定义”

我也尝试过用普通的old moment.js来代替locale,但我得到了同样的错误

此外,故障不会发生在A上


Web服务器怎么会重要到文件加载到浏览器中而对象不在那里?

如果服务器在请求矩.js时使用矩.js文件进行响应,那么问题就不在服务器上

问题在于您的Javascript,在浏览器中加载moment.js之前,您正在Javascript中使用moment。错误显示“未定义矩”,这不是404错误,因为如果服务器找不到矩.js文件,它可能会返回


与服务器A的响应相比,服务器B的响应中Javascript文件的顺序可能有所不同。

我忽略了添加的一件事是服务器A正在缩小并捆绑服务器B没有的脚本。这可能与使用前未加载的时刻有关吗?@JohnMc是的,对于ASP.NET绑定和缩小,如果没有绑定和缩小,您可以在C#文件中设置Javascript文件响应的顺序,顺序不同,它是在index.html或中定义的。cshtml@JohnMc没有缩小本身也没有区别,与服务器BAlright相比,服务器A上Javascript文件的顺序可能有所不同,这在理论上是有意义的。但是我看不出我来自服务器B的非最小化响应在防止错误方面有什么不同。Firebug的脚本选项卡显示的是在第一次调用moment(失败)之前,该调用位于一个js文件中,该文件稍后加载了19个脚本标记。这与我在BundleConfig.cs中布局的方式一致。