![](/img/trans.png)
[英]Script minified with bundling don't work in ASP.NET MVC 3 when debugging is disabled
[英]Bundling and minification - when enabled scripts don't work
尝试将绑定应用于脚本,当以旧方式(手动)位于页面上时,脚本可以很好地工作。 这是捆绑包注册:
Bundle sbundle = new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/menu-correction.js",
"~/Scripts/validation-rules.js",
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.validate*");
bundles.Add(sbundle);
bundles.Add(new ScriptBundle("~/bundles/session").Include(
"~/Scripts/jquery.plugin.js",
"~/Scripts/jquery.countdown.js",
"~/Scripts/session-management.js"));
//others
然后在布局页面中调用:@ Scripts.Render(“〜/ bundles / jqueryval”)@ Scripts.Render(“〜/ bundles / session”)但是启用缩小功能后,我在chrome控制台中遇到了以下错误:
我也可以在chrome开发人员工具的“源”标签页中看到我的脚本-它们已成功缩小。 花了足够的时间尝试解决此问题。 这个错误的原因可能是什么? 提前致谢。
我提供的信息不足:Application_PostRequestHandlerExecute方法中存在一些逻辑,该逻辑将一些标签直接写到响应流(js需要)。 我注意到实际上是在缩小的js文件的末尾写了直接在响应流中捆绑在一起的标签,因此语法被破坏了,js文件不起作用(不捆绑我的方法就可以了)。 解决方案:将我的逻辑从Application_PostRequestHandlerExecute转移到Application_AuthorizeRequest方法,该方法最初应位于此位置。
UPDATE
好吧,标记生成逻辑已从Application_PostRequestHandlerExecute方法中完全删除,仅由于现在我明白这是绝对错误的想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.