0

我正在开发一个 MVC4 站点,我想使用一些资源管理软件来整合和缩小 JS 和 CSS(+less 和咖啡脚本),

SquishIt 有我想要的所有插件,它们已经配置好了。所有的例子都展示了 SquishIt 背后的一个非常简单的想法,它从不包括任何资产管理。它看起来像(和 JavaScript 模型几乎相同):

<html>
  <head>
    @Html.BundleCss()
            .Add("~/Content/first_file.css")
            .Add("~/Content/second_file.css")
            .Add("~/Content/third_file.css")
            .Render()
  </head>

我想要做的更像是这样的:

_Layout.cshtml:
<html>
  <head>
    @Html.BundleCss().Render()
  </head>
  ....

App_Start():
  Bundle.Css().Add("~/Content/bootstrap.css").Add("~/Content/jquery-ui.css");

_PartialView.cshtml:
  @Html.BundleCss().AddString("a:active { color: red }")

这背后的想法是,当视图递归渲染时,我将构建我需要的 CSS/JS,然后缩小器在最后构建、缩小和缓存。AssMan ( http://assman.codeplex.com/ ) 可以做到这一点,但似乎不太受支持,需要更多的工作才能获得所需的缩小器和我想要的语言支持。

想法、建议?

4

2 回答 2

0

盒式磁带似乎天生就是这样做的。它不像我想要的那样干净的语法(我希望能够从页面中引用任意脚本和 CSS 而不必捆绑它们)但它确实有效。

于 2014-01-22T20:07:35.797 回答
0

如果我正确地遵循了您的问题,我认为这个问题与您将要得到的一样接近(从这个 SO 线程开始)。不过,我并没有真正遵循,应该将示例中的 .AddString 调用添加到哪个捆绑包中?在我看来,您最终会为每个视图生成一个组合文件,从优化的角度来看,这与您所能得到的一样糟糕。

如果您阅读了关于该问题的讨论并查看了链接的提交,也许它会给您一些关于如何获得您所追求的功能的想法(它实际上可能是我们已经实现的 AutoBundler 东西,现在可以在预发布版中使用,并将在不久的将来发布软版本)。

于 2014-01-24T17:52:44.890 回答