asp.net-mvc-4 – ASP.NET MVC 4应用程序捆绑和分类,为什么在调试模式下启用小数化?
|
我刚刚将ASP.NET MVC 3项目迁移到MVC 4 / .NET 4.0,并安装了NuGet软件包Microsoft.AspNet.Web.Optimization,以支持CSS和JavaScript的捆绑和分类。我几乎完成了捆绑/分解工作,问题始终是启用的。即使应用程序处于调试模式,如在Web.config中配置的,所有JavaScript包含都被缩小。从下面的XML片段可以看出,在Web.config中启用了调试模式: <system.web>
<compilation debug="true" targetFramework="4.0">
...
</compilation>
...
</system.web>
我的捆绑配置的摘录: public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
...
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.*","~/Scripts/jquery.form.js","~/Scripts/jquery.format.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/Site.css"));
...
}
}
CSS / JavaScript包含在HTML中呈现,例如: <link href="/content/css" rel="stylesheet" type="text/css"> <script src="/bundles/jquery" type="text/javascript"></script> 有人有任何线索,为什么在我的情况下,我在这里失踪了,我感到失落。为了解决问题,我创建了一个测试ASP.NET MVC 4 Internet应用程序,并可以验证CSS / JavaScript没有在该项目的调试模式下缩小。 编辑: 在我的_Layout.cshtml文件中,我渲染这样的样式/脚本: @Styles.Render("content/css")
@Scripts.Render("bundles/jquery")
感谢郝,我意识到我忘了使用“/”来配置包名称。 解决方法红色标记是HTML中呈现的链接/脚本标签:如果您使用Script / Style.Render,那么它们应该包含一个版本的哈希码,即 < script src="/bundles/jquery?v=wvLq7H7qEZB2giyIRn7aEZAxhHOb2RfTYYh2HMd9EqM1"/> 要获取MVC4模板正在使用的调试/释放行为,您还必须使用Script / Style.Render方法。调用这些方法时,您必须传递虚拟包路径,在您的示例中: @Styles.Render("~/content/css")
@Scripts.Render("~/bundles/jquery")
在调试模式下,您不应该获取指向包的链接/脚本标签(这将始终是细化/捆绑的)。相反,您应该在调试模式下获取每个资源的脚本/链接标签。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – IE10将令牌注入到.NET MVC链接中
- asp.net – 编辑条目时的实体框架DateTime格式
- asp.net-mvc – 为什么ASP.NET MVC在数据绑定期间关心我的只
- 我们可以在ASP.NET Webforms(* .aspx页面)中使用Razor语法吗
- asp.net-mvc – 高级ASP路由教程和示例
- asp.net-mvc – MVC 3多个DisplayFor-Templates
- ASP.NET CoreEntityFramework核心:左(外)加入Linq
- asp.net-mvc – 当tryUpdateModel无法在asp.net mvc 3中更新
- asp.net – Response.End()和Response.Flush()之间的差异
- asp.net-mvc – 为什么HttpContext.Current在asp.net mvc中
