7

Razor View Engine(ASP.NET MVC)を.LESS(SASSと同様-.NETの場合はhttp://lesscss.org/ )と一緒に使用することはできますか?両方とも「@blah」を使用しているためですか?

私が達成したいのは、Razorと混合した.LESScssファイルを作成することです。

更新しました:

少し不特定でごめんなさい。私がやりたいのは、.less(dotlesscss)cssファイル内でRazorViewEngineを使用することです。これは、たとえば、管理者からカスタマイズされたテーマのようなサイト設定をcssファイルに渡すために便利です。

問題は、構文がクラッシュすることです。

別の方法は、代わりにC#またはその他のViewEngineを使用することです。

4

3 に答える 3

23

Justin Etheredge の SquishIt ライブラリの使用を検討する必要があります。dotlesscss ライブラリが含まれているだけでなく、CSS と Javascript を簡単に組み合わせて縮小します。

Razor で SquishIt を使用する方法の例を次に示します。

次のコードは、参照されているすべての CSS ファイルを 1 つの CSS ファイルに結合、縮小、および LESS 化します。Javascript ファイルでも同じことが行われます。

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.Css()
    .Add("~/media/css/reset.css")
    .Add("~/media/css/style.less")
    .Add("~/media/css/handheld.css")
    .Render("~/media/css/combined_#.css"))

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.JavaScript()
    .Add("~/media/js/geo.js")
    .Add("~/media/js/jquery-1.4.4.js")
    .Add("~/media/js/jquery.unobtrusive-ajax.js")
    .Add("~/media/js/jquery.validate.js")
    .Add("~/media/js/jquery.validate.unobtrusive.js")
    .Render("~/media/js/combined_#.js"))

出力は次のようになります。

<link rel="stylesheet" type="text/css" href="/media/css/combined_312454.css" />
<script type="text/javascript" href="/media/js/combined_312454.js"></script>

更新 (1 年以上後)...
注目すべきもう 1 つのプロジェクトはCassetteで、SquishIt が行うすべてのこと (およびそれ以上) をほとんど行います。

于 2010-11-19T20:24:03.553 に答える
3

LESS と Razor エンジンは関係ありません。

LESS の使用に興味がある場合は、dotlesscss を調べてください。そのGit リポジトリwikiを参照してください。何らかの理由で、メインのウェブサイトは8 月からダウンしており、まだ復旧していません。

于 2010-11-02T19:00:34.977 に答える
2

.NET 4.5 および MVC 4 では、すぐに使用できるようになりました。

http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

于 2012-09-26T18:10:28.477 に答える