ASP.NET MVC4ベータ版でJavascript / CSSミニファイを無効にする方法
-
28-10-2019 - |
質問
ASP.NET MVC 4を試しているところですが、Javascript / CSSミニファイ機能を無効にする方法がわかりません。特に開発環境の場合、これはデバッグに大いに役立ちます。web.configのスイッチになると思いますが、ASP.NET MVC 4は現時点ではまだベータ段階であるため、実際にはあまり情報がありません。誰かが適切なブログ投稿などを手伝ったり、指摘したりしていただければ幸いです。
解決
Global.asax.cs内 ジェネラコディセタグプレ
他のヒント
もう1つのオプションは、スクリプトとリンクタグの作成に使用できるHTMLヘルパーを作成することです。これが私がJavascriptに実装したもので、CSSにも実行できます: ジェネラコディセタグプレ
今、あなたがしなければならないのはあなたの見解でそれを呼ぶことだけです: ジェネラコディセタグプレ
また、web.configのデバッグ設定に応じて、スクリプトを個別の参照としてレンダリングするか、新しいバンドル/ミニファイ機能を使用します。 http://codecutout.com/resource-minify-bundling のコードの一部を次のように使用しましたさらにいくつかの例を見たい場合は、ヘルパーを作成する際のリファレンス。彼らのヘルパーは少し良く書かれていて、無効な引数が指定されたときに例外をスローするなどです。私はまだ私のクリーンアップに取り掛かっていません。
Global.asax に独自のバンドルを登録し、コンテンツを縮小したくない場合は、NoTransform
クラスを使用できます。
個人的には、スクリプトをまったく変換したくありません。2つのスクリプトディレクトリを作成するだけです。1つはデバッグスクリプトバージョンで、もう1つは最初にダウンロードされた縮小バージョンです。
MVC 4のすぐに使えるミニファイア(JsMinify)は、OperaのjQuery 1.7.1を壊すので、これは使いたくありません。 Global.asax に次の行を入力しました:Application_Start()
メソッド:
ジェネラコディセタグプレ
これで、_layouts.cshtml
に2行のいずれかを追加できます。
ジェネラコディセタグプレ
もちろん、これを配置すると、もう少しファンキーになる可能性があります。バンドルを1つだけ生成し、ビルドされたタイプに応じて、含めるファイルを選択できます。
Global.asaxでEnableDefaultBundles()
を呼び出した後、これを行うことができます...
ジェネラコディセタグプレ
きれいではありませんが(システムによって設定された状態を変更する)、他のすべての提案よりもコードがはるかに少なく、標準のバンドル動作を使用でき、ビューを変更する必要はありません。
ASP.NETMVCの新しいバージョンでは追加するだけです ジェネラコディセタグプレ
直後 ジェネラコディセタグプレ
設定からオフにすることができます: ジェネラコディセタグプレ
そのような機能が「箱から出して」利用できるようになれば、それは正しいと思います。
UserVoice.comにフィードバックを投稿しました: http://aspnet.uservoice.com/forums/41201-asp-net-mvc/suggestions/2702000-improve-system-web-optimization-bundle
あなたの「声」を与えてください。
JsMinifyとCssMinifyのインスタンスを置き換えるのではなく、代わりにインターフェイスを使用できます。 2番目のコンストラクターパラメータがインターフェースではなく型であったため、このオプションは以前のリリースでは使用できませんでした。 ジェネラコディセタグプレ
縮小版と非縮小版が付属しているスクリプトの場合、おそらく注目に値します。jQueryの場合、ヘルパーメソッドを使用して、オプションでDEBUGビルドの「.min」を削除してデバッグを容易にすることができます。 ジェネラコディセタグプレ
System.Web.Optimizationの新しい拡張機能-
別の代替手段(v1.1.0.0およびMVC5でテスト済み): ジェネラコディセタグプレ