.net mvc更新了jquery现在出现严重错误

时间:2013-01-24 17:37:02

标签: jquery asp.net-mvc

我今天通过NuGet更新了jquery,我现在收到以下错误:

JavaScript critical error at line 1, column 11 http://localhost:53779/Scripts/jquery-1.9.0.min.map

SCRIPT1004: Expected ';'

是否还有其他人遇到此问题并建议解决方案?

4 个答案:

答案 0 :(得分:4)

我今天偶然发现了这件事,并认为我应该回答这个问题的实际解决方法。

在我的BundleConfig.cs中,我有以下内容:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-1.*"));

通配符用于获取最新版本的jQuery,但是,Bundle Builder也在拾取地图文件。

通过更新BundleConfig.cs,如下所示:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-{version}.js"));

这解决了这个问题。 {version}标记是与文件进行最佳匹配的替换。因此,现在代替添加的所有文件,您将获得要求捆绑和缩小的库的匹配。

此修复程序的来源位于http://jameschambers.com/2013/01/jquery-script-map-causing-critical-error-in-jquery-1-9-0/

答案 1 :(得分:3)

.map文件用于调试(例如,Chrome中有一些新功能可让您“映射”到源的非缩小版本。)

如果你正在使用捆绑/缩小,你可以链接到该文件的完整版本,这样你就可以安全地删除(或移动).map文件,代码将再次运行,你仍然可以通过MVC框架。

作为一个说明,我假设你没有在这里做任何jQuery库工作,并且你当前不需要在浏览器中调试时访问非缩小版本。通常情况下,我是jQuery的“消费者”,并且往往不会调查黑盒子。

有关更多信息,Elijah有一些关于源地图的重要信息以及如何使用它。

http://www.elijahmanor.com/2013/01/the-magic-of-jquery-source-map.html

同样,如果您想实施临时解决方法来解决地图缩小问题(可能是相关的),您可以查看此SO问题:jquery 1.9.0 and modernizr cannot be minified with the ASP.NET Web Optimization Framework

答案 2 :(得分:1)

此问题的另一个可能原因是,如果您定义两个具有相同名称的包(一个脚本,一个样式):

    bundles.Add(new ScriptBundle("~/bundles/bootstrap")
            .Include("~/Scripts/bootstrap.js"));

    bundles.Add(new StyleBundle("~/bundles/bootstrap")                        
            .Include("~/Content/bootstrap.css"));

然后,在页面中,执行以下操作:

     <%=Scripts.Render("~/bundles/bootstrap")%>

它将尝试将css呈现为javascript并将失败。

答案 3 :(得分:0)

我搞砸了,因为我剪掉并粘贴了错误的东西。我有

@Scripts.Render("~/Content/DataTables/css")

应该是

@Styles.Render("~/Content/DataTables/css")

我应该注意到的另一个赠品。我收到了javascript错误,但该文件是一个css文件。卫生署!