我正在开发一个MVC4网站,我想使用一些资源管理软件来整合&缩小JS& CSS(+ less& coffeescript),
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,因为视图递归渲染,然后minifier在最后构建,缩小和缓存。 AssMan(http://assman.codeplex.com/)执行此操作,但似乎支持较少,需要更多工作才能获得所需的缩略词和语言支持。
想法,建议?
答案 0 :(得分:0)
Cassette似乎是原生这样做的。它并不像我想的那样干净(我更喜欢能够从页面引用任意脚本和CSS而不必捆绑它们)但它确实有效。
答案 1 :(得分:0)
如果我正确地关注了您的问题,我认为this issue与您将要获得的距离非常接近(从this SO thread开始)。我真的不关注,你的示例中的.AddString调用应该添加到哪个包中?在我看来,你最终会得到每个视图的单个组合文件,这与从优化角度来看一样糟糕。
如果您阅读有关该问题的讨论并查看链接的提交,那么它可能会为您提供有关如何获取您所使用的功能的一些想法(它实际上可能是我们已实现的AutoBundler内容,可用现在预售,并将在不久的将来获得一个软释放。)