問題タブ [bundling-and-minification]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - MVC4はバンドル仮想パスをどのように使用しますか?
Microsoft MVC4には、bundling
やなどの静的リソースの縮小とキャッシュが必要なものがCSS
ありJavaScript
ます。このScriptBundle
メソッドでは、呼び出された最初のパラメーターが表示されますがvirtual path
、これは相対的なものである必要があります。
たとえば、~/bundles/jquery
上記のコードでは。
私は1つの質問があります、bundling
これをどのように使用しvirtual path
ますか?これはファイルキャッシングのようなものに使用されますか?
asp.net-mvc - MVC4 バンドリング ワイルドカード - * vs. {version}
新しいバンドル ワイルドカード {version} regex を理解し、十分に感謝しています。これは、更新後もスクリプトやスタイル ライブラリを取得し続けるためです。問題は、それを効果的に機能させることができないことです。
以前は、次の表記法を使用して jQuery スクリプトを取得していました。
アスタリスクのワイルドカードに一致するすべてのファイルを取得します。
しかし、私が次のことを試したとき:
jQuery ファイルが _Layout.cshtml ページに書き出されていないことに気付きました。
注 - 実際、両方の例で次の HTML コードを使用しています。
上記の最初の例 (" * ") 表記を使用すると、次のようにページに書き込まれます。
しかし、「{version}」表記を使用すると、ライブラリを記述する必要がある空白のスペースしかありません。これは、jquery ファイルと関連する CSS スタイルシートの両方に関係します。
DEBUG または RELEASE モードのどちらでコンパイルしているかは問題ではありません。結果は同じです。明らかに、リリース モードでは、「*」表記を使用すると最適化されたバージョンが取得されます。
私はすべての開発者がそうであるように完璧主義者なので、{version} 表記法が機能することを大いに期待しています。
私が間違っているかもしれないことについての洞察は大歓迎です。
前もって感謝します、ダン
bundle - Microsoft.AspNet.Web.Optimization によって Javascript バンドルが作成されない
以下のリンクのガイダンスに従って、VS2010 Web フォーム Web サイトで JavaScript バンドルを作成しています。
http://igorzelmanovich.blogspot.co.uk/2012/09/using-aspnet-bundling-and-minification.html
私はglobal.asaxにこれを持っています:
これは私のサイトマスターにあります(メインのjqueryソースをまだバンドルに移動していないことに注意してください)
Nuget から Microsoft.AspNet.Web.Optimization パッケージをインストールすると、すべてのバイナリが取得され、Web サイトが正常にビルドされます。web.config のデバッグ値を true と false に設定しようとしましたが、jquery.bxSlider.js を含むバンドルで bundles/js フォルダーが生成されません。bundles/js フォルダーを手動で作成しましたが、まだ運がありません。
デバッグ時に Application_Start が呼び出されても、何も生成されません。
asp.net - ASP.NET MVC 4 で Scripts.Render を使用する場合、「script」タグで「type」属性を生成します。
ASP.NET MVC 4 で Scripts.Render を構成して、「script」タグで「type」属性を生成することは可能ですか?
もしそうなら、どのように?
前もって感謝します、
ライアン
c# - MVC4バンドルキャッシュヘッダー
バンドルリクエストから送信されたキャッシュヘッダーを変更したい。現在はさまざまですが、変更User-Agent
したくないのですが、バンドルリクエストによって送信されるヘッダーを変更する方法はありますか?
アセンブリをざっと見てみると、プライベート静的関数であるSystem.Web.Optimization
ヘッダーが設定されていることがわかりBundle.SetHeaders
ます。間違っていることが証明されることを望んでいますが、それは不可能だと思います。
asp.net-mvc-4 - ASP.NET Mvc 4 Url.Content にバンドルの利点を使用する
これを行う方法はありますか?
バンドルの利点のいくつかは次のとおりです。
- 最小化
- Gzip 圧縮
- 要求には、ファイルのバージョン (キャッシュ) を処理するためのトークン パラメーターがあります。
私のサイトでは多くのバンドルを使用していますが、一部のページではスクリプトが 1 つしかないため、スクリプト 1 つだけのバンドルを作成する必要はないと思います。この 3 つの利点をメソッドで使用する方法はありますかUrl.Content
。
私の理想的な解決策は、(おそらく web.config で) 何かを設定することであり、 Url.Content が呼び出されるたびに、この機能が追加されます。次のいずれかの方法で使用します。
(2つ目はRazor 2を使用しているためです)
それが不可能な場合は、UrlHelper に拡張メソッドを作成して、この機能を追加できます。
ありがとう!
asp.net-mvc-4 - MVC のスタイル バンドルの順序を構成するにはどうすればよいですか?
私の Web アプリは、jquery-ui と jqgrid で設定された大きなアイコンを使用しています。
jquery-ui または jqgrid をアップグレードするときに、より大きなアイコンに対応するように CSS への変更を簡単に維持するために、多数のオーバーライドがある個別の CSS ファイルを用意しています。
ご想像のとおり、このオーバーライド ファイルは、jquery-ui スタイルシートと jqgrid スタイル シートの後に含める必要があります。
すべてのスタイルシートを次のようにバンドルに入れました
しかし、それはそのようにレンダリングされています!
バンドルが正しい順序でレンダリングされるように構成するにはどうすればよいですか?
更新
OK、これはばかげていますが、うまくいきました。
何をしても、ファイルは常に正しくレンダリングされませんでした。だから私は愚かなことを試して、最初に jquery-ui-fixes.css を追加し、最後に jquery-ui-1.8.23.custom.css を追加しました。
突然私の注文は
javascript ファイルの名前を jqueryuifixes.css に変更したところ、下位の js ファイルで順序が保持されるようになりました。
スタイルシートの名前に - が含まれている場合、何らかの理由で最初に優先され、 - が含まれる他のファイルで順序が維持されると考えています。
誰かがこれを説明できるなら、私は彼らに小切手をあげます。
asp.net-mvc - デバッグ モードでの ASP.NET 4.5 バンドル - 古いリソース
ASP.NET 4.5 バンドル機能で、デバッグモードでの実行時にクエリ文字列の一部として GUID を生成する方法はありますか(たとえば、バンドルをオフにします)。
問題は、ローカルで開発する場合、スクリプト/CSS ファイルが次のように生成されることです。
したがって、そのファイルを変更した場合、ブラウザがファイルを取得できるようにハード リフレッシュを (場合によっては数回) 行う必要があります。面倒です。
次のようにレンダリングする方法はありますか?
GUID はどこx
にありますか (例: 常に一意)。
アイデア?
ASP.NET MVC 4 を使用しています。
c# - MVC4 バンドル (デバイス タイプに基づく)
したがって、bundleconfig.cs を見ると、デバイス タイプに基づいてバンドルすることが許可されているはずです。唯一の問題は、それが App_Start にあるため、Request オブジェクトにアクセスできないことです。デバイスベースのバンドルを可能にする方法はありますか?