ASP.NET Coreのタグヘルパーでinclude、exclude属性ってのがあります。これは、実行環境毎に定義するタグを切り替えられるもので開発、ステージング、本番など環境に応じて変更出来ます。僕の場合、BuildBundlerMinifierを使っているのでcssがミニファイされて開発時にいちいちビルドしなければいけなかったのですが、これのおかげで開発用のcss、本番用のcssと切り替えられるようになりました。今回は、本番でミニファイされたCSS、開発で生CSSを使うように説明します。
include属性
開発の場合
<environment include="Development"> <link rel="stylesheet" href="~/css/site.css" asp-append-version="true"/> </environment>
ステージング、本番の場合
<environment include="Staging,Production"> <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true"> </environment>
ちなみにasp-append-version="true"は「v=Q55BkiaTp6uRl9...」をつけてくれるのでキャッシュ対策です。
BuildBundlerMinifier
BuildBundlerMinifierはこれです。Microsoft サポートが絡んでいるので信頼があります。BundlerMinifier.Coreってのがあるのですがこれは公式サポートがないので使う人は自己責任って感じですかね。
www.nuget.org
こんな感じでミニファイするファイルを指定するのですが、これがいちいちビルドしなければいけなかったのがめんどかったのでよかった。
マイクロソフトの公式はいまいち読む気がしないのですが、ちゃんと読まなきゃダメですね。