javascript - 捆绑 JavaScript 类(class) Uncaught SyntaxError : Unexpected token <

标签 javascript asp.net-mvc-4 bundling-and-minification

使用mvc4类(class)的bundle特性

Uncaught SyntaxError: Unexpected token <

正在加载。使用 debug="true" 一切正常。

我该如何解决这个错误,或者我是否可以只为脚本禁用捆绑功能?

已解决
重命名包名称以与任何目录不匹配

最佳答案

在回答导致此错误的原因之前,您必须先找出错误发生的位置。捆绑时代码语法的唯一区别是它被缩小了。一个非常简单的方法是使用 Bundle 而不是 ScriptBundle:

        var thirdParty = new Bundle("~/bundles/thirdParty").Include(
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/bootstrap.js",
            "~/Scripts/jquery-ui-{version}.js",
            "~/Scripts/jquery.mockjson.js",
            "~/Scripts/jQuery.XDomainRequest.js",
            "~/Scripts/knockout-{version}.js"
            );

        thirdParty.Transforms.Clear();

        bundles.Add(thirdParty);

现在,如果您有多个 JavaScript 包,请对它们一一执行此操作,直到找到罪魁祸首。

我发现调试这些问题的唯一方法是将您的包分成两半以进一步分解:

        var thirdParty1 = new Bundle("~/bundles/thirdParty1").Include(
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/bootstrap.js",
            "~/Scripts/jquery-ui-{version}.js"
            );

        bundles.Add(thirdParty1);

        var thirdParty2 = new ScriptBundle("~/bundles/thirdParty2").Include(
            "~/Scripts/jquery.mockjson.js",
            "~/Scripts/jQuery.XDomainRequest.js",
            "~/Scripts/knockout-{version}.js"
            );

        bundles.Add(thirdParty2);

请注意,我们只为两个包之一禁用了缩小 - thirdParty1。请务必更新您的 @Scripts.Render 以指向您的新包。当您构建并重新加载时,您将继续得到错误,或者您不会,然后就会知道哪一半包含麻烦的代码。但一定要用两种方式进行测试,在我的示例中缩小 thirdParty1 并取消缩小 thirdParty2 ,反之亦然,以确定其他事情没有发生。您可能还希望保持 DevTools 或您打开的任何浏览器调试器,并查看 bundle 的源代码以确保它们按预期运行。

继续将脚本从缩小包(thirdParty1 在我的例子中)从未缩小包(thirdParty2)移动一次一个或 block ,如果你有很多脚本。请记住在中间重建,并注意不要更改脚本的包含顺序。

这至少应该让您找到有问题的文件 - 希望搜索“<”会得到您的答案。

希望对您有所帮助。

关于javascript - 捆绑 JavaScript 类(class) Uncaught SyntaxError : Unexpected token <,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17659784/

相关文章:

元素的 Javascript 选择器/非 CSS 选择器

c# - 如何向 ASP.NET MVC web 应用程序发出授权的 HttpWebRequest

c# - 如何将 html 助手用于通用集合?

asp.net - 如何为 Release模式设置debug false

asp.net - 优化了从网站请求时返回 404 的 bundle

javascript - 淡出 div 的一侧,同时让褪色的颜色渗入

php - 在不提交的情况下保存和加载表单中的数据

javascript - 我找不到的奇怪的 'expected ;' 错误

c# - 记录 ASP.NET MVC 应用程序中的用户事件

javascript - 无法使用 Bundlification 在我的 ASP.NET 元素中加载一些 css 和 js