我将ASP.NET Web窗体与母版页一起使用。有这么多活动部件,我无法弄明白。不同的教程使用它的不同部分而省略其他部分,我无法确定需要什么,什么是绒毛。
不同的部分:
母版页:在CSS的head部分我有:
<link href="Content/css" rel="stylesheet" />
<asp:PlaceHolder runat="server">
<%: Scripts.Render("~/bundles/modernizr") %>
</asp:PlaceHolder>
在关闭body标签之前,我有:
<script src="<%= ResolveUrl("~") %>Scripts/jquery-2.1.1.js"></script>
<script src="<%= ResolveUrl("~") %>Scripts/bootstrap.min.js"></script>
<script src="<%= ResolveUrl("~") %>Scripts/jquery.reject.js"></script>
<script src="<%= ResolveUrl("~") %>Scripts/general.js"></script>
看起来不需要min,但是我需要其中任何一个,而是使用
<script src="Scripts/js"></script> ?
Global.asax.cs :这看起来很简单,在Application_Start方法中注册了包。
void Application_Start(object sender, EventArgs e)
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Web.config :
我添加了System.Web.Optimization命名空间和Microsoft.AspNet.Web.Optimization.WebForms程序集。
Bundle.config :我不知道这是为了什么;很多教程都没有提到它?
BundleConfig.cs :除了标准的WebFormsJs,MsAjaxJs和modernizr自定义包之外,我还有以下CSS:
bundles.Add(new StyleBundle("~/bundles/css").Include(
"~/Content*"));
这不起作用。我准备为我的JS文件添加类似的东西但是根据this tutorial对我为什么这样做感到困惑,我所需要的只是:
<link href="Content/css" rel="stylesheet" />
据推测,我所需的所有JS文件都是:
<script src="Scripts/js"></script>
在一些教程中,我看到ScriptManager.ScriptResourceMapping.AddDefinition
- 这是为了什么?
以下是我的CSS和Scripts文件夹的当前状态 - 我需要所有这些非迷你版本:
有人可以帮我把它拼凑起来吗?我在本地运行,调试设置为false。
答案 0 :(得分:3)
下面是需要为WebForms中的Bundling和Minification配置的每个部分的列表。
这是从运行Bundling and Minification的生产代码库中获取的。
<强>库:强>
<强>依赖关系:强>
<强> Global.asax中强>
void Application_Start(object sender, EventArgs e)
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
//Use this if you want to force/test bundling in debug.
BundleTable.EnableOptimizations = true;
}
BundleConfig类
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/sitejs")
//Add as many JS libraries you would like to the bundle...
.Include("~/Scripts/jquery-3.1.1.js")
.Include("~/Scripts/jquery-migrate-3.0.0.js")
);
bundles.Add(new StyleBundle("~/bundles/sitecss")
//Add as many CSS files that you would like to the bundle...
.Include("~/css/jquery-ui.css")
);
}
}
母版页
<!-- At the top of the Master Page -->
<%@ Import Namespace="System.Web.Optimization" %>
<!-- Just after the closing `</form>` tag -->
<asp:PlaceHolder runat="server">
<%: Styles.Render("~/bundles/sitecss") %
<%: Scripts.Render("~/bundles/sitejs") %
</asp:PlaceHolder>