Asp.net mvc 让斯奎拉什表现得像个混蛋

Asp.net mvc 让斯奎拉什表现得像个混蛋,asp.net-mvc,optimization,squishit,Asp.net Mvc,Optimization,Squishit,我在一个MVC4网站上工作,我想使用一些资源管理软件来整合和缩小JS和CSS(+less和coffeescript) SquishIt有我想要的所有插件,它们已经配置好了。所有的例子都展示了SquishIt背后的一个非常简单的想法,它从不包括任何资产管理。看起来(JavaScript模型几乎相同): @Html.BundleCss() .Add(“~/Content/first\u file.css”) .Add(“~/Content/second\u file.css”) .Add(“~/C

我在一个MVC4网站上工作,我想使用一些资源管理软件来整合和缩小JS和CSS(+less和coffeescript)

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


@Html.BundleCss()
.Add(“~/Content/first\u file.css”)
.Add(“~/Content/second\u file.css”)
.Add(“~/Content/third\u file.css”)
.Render()
我想做的更像这样:

_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 }")
\u Layout.cshtml:
@Html.BundleCss().Render()
....
App_Start():
Bundle.Css().Add(“~/Content/bootstrap.Css”).Add(“~/Content/jquery ui.Css”);
_PartialView.cshtml:
@Html.BundleCss().AddString(“a:active{color:red}”)
这背后的想法是,我将在视图递归呈现时构建所需的CSS/JS,然后minifier在最后构建、缩小和缓存。AssMan()可以做到这一点,但似乎不太受支持,需要更多的工作才能获得所需的缩微器和语言支持


想法、建议?

卡带似乎是天生的。它的语法并不像我希望的那样干净(我更希望能够引用页面中的任意脚本和CSS,而不必捆绑它们),但它确实有效。

如果我正确地理解了你的问题,我想这是你将要做的(从开始)。不过,我不太明白,您的示例中的.AddString调用应该添加到哪个包中?在我看来,每个视图都会有一个单独的组合文件,从优化的角度来看,这是最糟糕的


如果你阅读了关于这个问题的讨论,并查看了链接提交,也许它会给你一些关于如何获得你想要的功能的想法(它可能实际上是我们已经实现的AutoBundler东西,现在已经在预发布中提供了,并且将在不久的将来得到一个软发布).

我不在乎它被添加到哪个包中。我正在引用CDN中的大型CSS和JavaScript文件,并覆盖本地需要的内容。我的改动很小。好吧,我认为如果你看一下这个问题,它与你要寻找的非常接近,尽管它确实为每个输入组合创建了一个包,试图最大化浏览器可以缓存的内容。这是一项正在进行的工作,如果你想参加讨论,我相信你的意见会有所帮助。好吧,这不是我想要的答案,但这是答案。谢谢。我对阿什曼的工作方式还不太清楚,不过我会读一些。如果唯一的区别是您希望每个父页面都有一个包,那么我认为我们可以将其作为一个配置选项。
_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 }")