Bar*_*rka 5 javascript c# debugging asp.net-mvc bundling-and-minification
我正在使用ASP.NET Bundling机制:
BundleTable.Bundles.Add(new ScriptBundle("~/Scripts/Master-js").Include(
"~/Scripts/respond.min.js",
"~/Scripts/jquery.form.js",
"~/Scripts/jquery.MetaData.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/bootstrap.js",
"~/Scripts/jquery.viewport.js",
"~/Scripts/jquery.cookie.js"
));
Run Code Online (Sandbox Code Playgroud)
如果构建在发布中,我希望这发生.如果构建是在调试中,我希望加载未缩小的单个文件,以便调试很容易.
我能够做到这一点的唯一方法是在我的视图中写下以下内容:
<% if(HttpContext.Current.IsDebuggingEnabled)
{
Response.Write("<script type='text/javascript' src='../../Scripts/respond.min.js'></script>");
Response.Write("<script type='text/javascript' src='../../Scripts/jquery.form.js'></script>");
Response.Write("<script type='text/javascript' src='../../Scripts/jquery.MetaData.js'></script>");
Response.Write("<script type='text/javascript' src='../../Scripts/jquery.validate.js'></script>");
Response.Write("<script type='text/javascript' src='../../Scripts/bootstrap.js'></script>");
Response.Write("<script type='text/javascript' src='../../Scripts/jquery.viewport.js'></script>");
Response.Write("<script type='text/javascript' src='../../Scripts/jquery.cookie.js'></script>");
}
else
{
Scripts.Render("~/Scripts/Master-js");
}
%>
Run Code Online (Sandbox Code Playgroud)
如你所见,我在这里重复一遍.有没有更好的办法?
默认情况下,在Scripts.Render()视图上使用时,如果应用程序启用了调试(debug="true"在web.config中),则不会捆绑或缩小文件.此外,还将为该捆绑包中的每个资产呈现单个脚本标记.
您可以使用手动启用/禁用捆绑和缩小 System.Web.Optimization.BundleTable.EnableOptimizations