繁体   English   中英

JS和CSS使用Xpedite进行缩小和合并

[英]JS & CSS minify & combine using Xpedite

我找到了一个名为Xpedite的库。 该项目的URL为http://xpedite.codeplex.com 任何人都可以从此处下载带有示例的项目。 我检查了这个图书馆,它很好。

用户只需要用以下页面包装js文件名:

<xpedite:CompositeResourcePlaceholder runat="server" />

<xpedite:CompositeResource runat="server" Type="Css" ReferenceName="jquery-ui">
  <xpedite:Resource Url="/Styles/Site.css" />
  <xpedite:Resource Url="/Styles/jquery.ui.accordion.css" />
  <xpedite:Resource Url="/Styles/jquery.ui.all.css" />
</xpedite:CompositeResource>

<xpedite:CompositeResource runat="server" Type="JavaScript" ReferenceName="jquery-ui">
  <xpedite:Resource Url="/Scripts/jquery-1.4.2.js" />
  <xpedite:Resource Url="/Scripts/jquery.ui.core.js" />
  <xpedite:Resource Url="/Scripts/jquery.ui.tabs.js" />
</xpedite:CompositeResource>

一切工作正常,但我始终必须在.aspx页面级别定义JS&CSS文件。 也许有时候我想从后台添加我的JS和CSS。 我找不到办法,所以如果有人知道它,请与我分享知识或下载该项目并检查...我检查了但什么也没发现。

我不是高级开发人员,但是我需要从后面的代码中将JS文件包装在CompositeResource中。

您可以尝试RequestReduce库。 该库提供与Xpedite相同的功能,并将最小化并合并您的css和javascript文件。 它还可以激发您的CSS背景图像。 使用RequestReduce,您的资源是在aspx还是背后的代码中定义都没有关系。 无论哪种方式,只要流到浏览器的html都包含带有javascript和css文件的链接和脚本标签,RequestReduce就会对其进行处理。

您是否尝试过使用.Net的ClientDependencyFramework 我相信它可以完成类似的工作,但也可以让您从后台代码中注册文件

添加答案以供参考:

要从CodeBehind注册复合资源,可以在Page_Init中添加CompositeResource控件的新实例,如下所示:

代码背后

protected void Page_Init(Object sender, EventArgs e)
{
  var resource = new CompositeResource { Type = ResourceType.Css, ReferenceName = "CodeBehind"};

  resource.Resources.Add(new Resource { Url = "/Styles/Site.css"});
  resource.Resources.Add(new Resource { Url = "/Styles/jquery.ui.accordion.css"});

  Page.Controls.Add(resource);
}

或者,如果已为该资源指定了ID,则可以选择扩展该资源:

ASPX

<xpedite:CompositeResource runat="server" Type="Css" ReferenceName="jquery-ui" ID="MyCompositeResource">

代码背后

protected void Page_Init(Object sender, EventArgs e)
{
  MyCompositeResource.Resources.Add(new Resource { Url = "/Styles/jquery.ui.theme.css" });
}

如果要动态动态生成CSS / JavaScript并尝试将其包含在复合资源中,则当前不支持该功能。 尽管如果CodePlex项目出现问题,添加对'EmeddedResource'的支持相对容易(尽管我计划在不久的将来将其移至GitHub)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM