10

ASP.NETMVC3プロジェクトでCSSとJavascriptを縮小するためにSquishItを使用しようとしています。

Renderメソッドを使用する場合:

.Render("~/content/themes/base/combined_#.css");

cssは#ではなく乱数で生成されますが、cssファイルへのリンクは生成されないため、cshtmlファイルに手動で挿入する必要があります。

<link href="~/content/themes/base/combined_#.css" rel="stylesheet" type="text/css" />

しかし、ファイル名に追加されたこの乱数はわかりません。

#がなくても問題なく動作します。

しかし、私は、Renderがこの記事に従ってcssリンクを自動的に生成する必要があるという印象を持っています:

http://www.codethinked.com/squishit-the-friendly-aspnet-javascript-and-css-squisher

私は正しいですか?

4

2 に答える 2

21

以下は私にとって素晴らしい働きです:

@Html.Raw(Bundle.JavaScript()
        .Add("~/scripts/jquery-1.5.1.js")
        .Add("~/scripts/jquery.unobtrusive-ajax.js")
        .ForceRelease()
        .Render("~/scripts/combined_#.js")
)

@Html.Raw(
    Bundle.Css()
        .Add("~/content/site.css")
        .Add("~/content/site2.css")
        .ForceRelease()
        .Render("~/content/combined_#.css")
)

それは放出します:

<script type="text/javascript" src="/scripts/combined_B8A33BDE4B3C108D921DFA67034C4611.js"></script>
<link rel="stylesheet" type="text/css" href="/content/combined_97A4455A9F39EE7491ECD741AB4887B5.css" />

対応するURLに移動すると、押しつぶされて結合された正しいリソースが取得されます。

SquishItをASP.NETMVCアプリケーションに統合するためのベースRazorページを提供するContribプロジェクトもあります。

于 2011-09-21T17:51:24.143 に答える
13

または、SquishIt.Mvc アセンブリへの参照を追加し、.MvcRender メソッドを使用します。

例えば。

@using SquishIt.Framework
@using SquishIt.Mvc

@(Bundle.JavaScript()
    .Add("~/scripts/jquery-1.5.1.js")
    .Add("~/scripts/jquery.unobtrusive-ajax.js")
    .ForceRelease()
    .MvcRender("~/scripts/combined_#.js")
)
于 2011-12-01T04:13:18.897 に答える