JS & CSS минимизируют и объединяют, используя Xpedite - PullRequest
1 голос
/ 05 декабря 2011

Я нашел библиотеку под названием 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>

Все работает нормально, но мне всегда нужно определитьФайл JS & CSS на уровне страницы .aspx.Может быть, иногда я хотел бы добавить свой JS & CSS из кода.Я не нашел способа сделать это, поэтому, если кто-то знает это, пожалуйста, поделитесь знаниями со мной или загрузите проект и проверьте ... Я проверил это, но ничего не нашел.

Я не продвинутый разработчик, но мне нужно обернуть JS-файл в CompositeResource из кода.

Ответы [ 3 ]

3 голосов
/ 05 декабря 2011

Вы можете попробовать библиотеку RequestReduce . Эта библиотека предлагает те же функциональные возможности, что и Xpedite, и минимизирует и объединит ваши файлы CSS и Javascript. Это может также спрайт ваши фоновые изображения CSS. С RequestReduce не имеет значения, определены ли ваши ресурсы в aspx или в коде. В любом случае, если html, передаваемый в браузер, содержит теги ссылок и сценариев с файлами javascript и css, RequestReduce будет их обрабатывать.

2 голосов
/ 05 декабря 2011

Вы пытались использовать вместо .Net ClientDependencyFramework взамен?Я считаю, что он выполняет аналогичную работу, но также позволяет регистрировать файлы из-за кода

0 голосов
/ 21 декабря 2011

Добавление ответа в ознакомительных целях:

Чтобы зарегистрировать составной ресурс из CodeBehind, вы можете добавить новый экземпляр элемента управления CompositeResource в Page_Init следующим образом:

CodeBehind

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);
}

В качестве альтернативы, вы можете расширить существующий CompositeResource, если этому ресурсу был присвоен идентификатор:

ASPX

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

CodeBehind

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

Если вы динамически генерируете CSS / JavaScript на лету и пытаетесь включить его в составной ресурс, эта функция в настоящее время не поддерживается. Добавление поддержки для EmeddedResource было бы относительно простым, хотя, если бы проблема была открыта в проекте CodePlex (хотя я планирую перенести ее на GitHub в ближайшем будущем).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...