【问题标题】:MVC bundling with jquery not working in debug more与 jquery 捆绑的 MVC 在调试中不起作用
【发布时间】:2016-07-10 04:47:48
【问题描述】:

我很难在 Asp.Net MVC 中进行捆绑工作。我设置了 EnableOptimizations,这样我就可以在转到 prod 之前测试捆绑包。

这是我的 RegisterBundles

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

        bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                    "~/Scripts/jquery/jquery-ui.js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery/jquery.validate*",
                    "~/Scripts/jquery/jquery.unobtrusive*"));

        BundleTable.EnableOptimizations = true;

这是我的 _Layout

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")

但是,当我的页面呈现时,它会出现这些 javascript 错误。这告诉我没有加载 jquery javascript。似乎返回了 html。我相信当捆绑包尝试检索 js 时,它实际上是再次返回我的登录页面。

SyntaxError: expected expression, got '<' jquery:2:0
SyntaxError: expected expression, got '<' jqueryui:2:0
SyntaxError: expected expression, got '<' jqueryval:2:0

非常感谢任何帮助。

【问题讨论】:

  • 您是否使用默认的 Visual Studio 模板创建项目?

标签: jquery asp.net-mvc asp.net-mvc-4 bundling-and-minification asp.net-bundling


【解决方案1】:

如果您要保护网站的某些部分,则需要排除捆绑包的路径不受保护。

这是另一个问题的解决方案:https://stackoverflow.com/a/6304624/84395

【讨论】:

  • 如果您使用捆绑,则脚本的路径在调试和发布模式下可能不同。您可能需要在发布 web.config 文件中允许访问 &lt;location path="bundles"&gt;,在调试 web.config 文件中允许访问 &lt;location path="Scripts"&gt;
猜你喜欢
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 2015-02-26
  • 1970-01-01
  • 2013-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多