0

私は 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 を構築し、最後に縮小化ツールが構築、縮小、およびキャッシュするというものです。AssMan ( http://assman.codeplex.com/ ) はこれを行いますが、サポートが少ないようで、必要なミニファイアーと必要な言語サポートを取得するには、より多くの作業が必要です。

アイデア、提案?

4

2 に答える 2

0

私があなたの質問を正しくフォローしている場合、この問題はあなたが得るのと同じくらい近いと思います (この SO スレッドから開始)。私は実際には従いませんが、例の .AddString 呼び出しをどのバンドルに追加する必要がありますか? ビューごとに単一の結合されたファイルになってしまうように見えますが、これは最適化の観点から得られるのと同じくらい悪いことです。

その問題に関する議論を読み、リンクされたコミットを確認すると、目的の機能を取得する方法についていくつかのアイデアが得られるかもしれません (実際には、私たちが実装した AutoBundler のものであり、現在プレリリースで利用可能です) 、そして近いうちにソフトリリースを取得する予定です)。

于 2014-01-24T17:52:44.890 に答える
0

カセットはこれをネイティブに行うようです。それは私が望むほどきれいな構文ではありません (バンドルせずにページから任意のスクリプトと CSS を参照できるようにしたいと思います) が、機能します。

于 2014-01-22T20:07:35.797 に答える