問題タブ [asp.net-optimization]
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.
asp.net-mvc - System.Web.OptimizationからのMicrosoft.Ajax.Utilities.JScriptException
NUGETからの最新のSystem.Web.Optimization1.0ライブラリの展開で問題が発生しています。Azureの本番インスタンスでは、ログがMicrosoft.Ajax.Utilities.JScriptExceptionエラーでいっぱいになり、CPUが100%に急上昇し、すべてが停止します。メモリダンプは次のエラーを示しています(そのうちの211)。どんな助けでもありがたいです!
エラー:
jquery-mobile - JQueryMobile1.2をASP.NETMVC4アプリにバンドルできません
ASP.NETMVC4アプリに取り組んでいます。このアプリは、パフォーマンスを向上させるためにバンドルを活用しています。以前は、アプリはjquery.mobile-1.1.0.jsを使用していました。すべてがうまくいきました。ただし、JQuery Mobile 1.2にアップグレードしたため、画面を読み込むと、常に待機スピナーが表示されます。標準バージョンと縮小バージョンの両方が参照されているという事実を特定しました。ページが読み込まれた後にビューソースを見ると、上部に次のように表示されます。
私の知る限り、これは私のASP.NETMVC.cshtmlファイルの以下から生成されました。
BundleConfig.csファイルには、次の定義があります。
基本的に、web.configのコンパイル設定でdebug = "true"フラグが設定されている場合は、通常のバージョンを使用します。ただし、debug = "false"の場合は、縮小版を使用したいと思います。私は何が間違っているのですか?
ありがとうございました
asp.net-mvc - IE条件付きコメントを使用したMVC4のバンドル/縮小
MVC4の新しい「バンドルとミニファイ」を使用しようとしています。
IEの条件付きコメントについては、私はまだ古い方法でそれを行っています:<!--[if lt IE 9]><link href=.../><![endif]-->
または<!--[if lt IE 9]>@Styles.Render("~/foo")<![endif]-->
、自動デバッグ/リリース処理を取得していないようです。
これを行うための組み込みの方法はありますか?他の人はこれをどのようにやっていますか?
編集:また、レンダリングされた出力内にタグ
を含めることができると便利です(フォールバックに使用されます)。<noscript>
asp.net - 非数値バージョン管理でのMVC4バンドル{バージョン}ワイルドカードチョーク
MSバンドル開発によると、{version}
ワイルドカードはの正規表現です(\d+(?:.\d+){1,3})
。これは次のことを区別します。
しかし、数字以外の番号付け(#.#.#pre
)のために、それは窒息します:
だから私はこれをやっています:html5shiv-3*
そしてhtml5shiv-printshiv-*
。しかしもちろん、これは、スクリプトが変更されたときにバンドルを更新する必要があることを意味します。
簡単な例としてhtml5shivを取り上げました。この問題は、「pre」、「beta」、「-a」、「-alpha」などが一般的に含まれているため、広く発生しています。解決策はファイルの名前を手動で変更することですが、nugetを介して自動化されません。
私は何か間違ったことをしていますか?
asp.net-mvc - バンドル名にファイル拡張子を付ける方法はありますか?
次のようなバンドルを定義したいと思います。
バンドル名が"~/style"
これだけの場合は機能しますが、ファイル拡張子では常に404が返されます。サーバーがドライブ上のCSSおよびJSファイルを検索し、バンドルシステムを無視していると思われますが、試している人が他に見つかりませんバンドル名にファイル拡張子を含めます。これは、URL の書き換えなどを行わずに行うことは可能ですか?
asp.net-mvc - MVC4 バンドリング ワイルドカード - * vs. {version}
新しいバンドル ワイルドカード {version} regex を理解し、十分に感謝しています。これは、更新後もスクリプトやスタイル ライブラリを取得し続けるためです。問題は、それを効果的に機能させることができないことです。
以前は、次の表記法を使用して jQuery スクリプトを取得していました。
アスタリスクのワイルドカードに一致するすべてのファイルを取得します。
しかし、私が次のことを試したとき:
jQuery ファイルが _Layout.cshtml ページに書き出されていないことに気付きました。
注 - 実際、両方の例で次の HTML コードを使用しています。
上記の最初の例 (" * ") 表記を使用すると、次のようにページに書き込まれます。
しかし、「{version}」表記を使用すると、ライブラリを記述する必要がある空白のスペースしかありません。これは、jquery ファイルと関連する CSS スタイルシートの両方に関係します。
DEBUG または RELEASE モードのどちらでコンパイルしているかは問題ではありません。結果は同じです。明らかに、リリース モードでは、「*」表記を使用すると最適化されたバージョンが取得されます。
私はすべての開発者がそうであるように完璧主義者なので、{version} 表記法が機能することを大いに期待しています。
私が間違っているかもしれないことについての洞察は大歓迎です。
前もって感謝します、ダン
asp.net-mvc - System.Web.Optimization により、関数の引数名が特定の関数で同じままになる
ScriptBundle を使用した ASP.NET バンドルを使用
に変換されます
ただし、AngularJs を使用しているため、依存関係の挿入を引き続き機能させるには、縮小時に引数名を変更してはなりません。$scope、$location、および $rootScope が ScriptBundle による縮小でこれらの名前を保持し、他の場所で引数の名前を変更できるようにするにはどうすればよいですか?
c# - ブラウザのバージョンに応じて特定の CSS をバンドルする方法は?
私は MVC4StyleBundle
を使用して大量の CSS をバンドルしています。IE 9 以下でのみ必要な CSS が 1 つあります。
メソッドのBundleConfig
クラスには、次のものがあります。RegisterBundles
しかし、その後Request is not available in this context
エラーが発生しました。RegisterBundles
メソッド中にブラウザを検出することはできませんか?
asp.net - ASP.NET MVC 4 で Scripts.Render を使用する場合、「script」タグで「type」属性を生成します。
ASP.NET MVC 4 で Scripts.Render を構成して、「script」タグで「type」属性を生成することは可能ですか?
もしそうなら、どのように?
前もって感謝します、
ライアン
asp.net - ASP.NET バンドル - デフォルトの仮想パス?
私が知る限り (率直に言って、 に関するドキュメントSystem.Web.Optimization
は非常にまばらであるため)、ASP.NET でバンドルが機能する方法は、一連のファイル (ScriptBundle
およびに対応する Javascript または CSS StyleBundle
) を登録し、それらを仮想パスに関連付けることです。たとえば、~/bundles/jqueryui
すべての jQuery UI スクリプトの場合です。後で非デバッグ モードで実行している場合、ASP.NET はこれらのファイルを縮小できます。縮小されたバージョンは、バンドルに指定した仮想パスで利用できるようになります。
デフォルトのバンドル セットアップでは、一部のスクリプト バンドルが~/bundles/...
仮想パスとして登録され、一部の CSS が仮想パスとして登録され~/Content/css
ます。私の質問は、これは矛盾していませんか? ~/bundles/js/...
とのようなものを持っている方が理にかなっている~/bundles/css/...
でしょうか? 実際、~/Content
ディレクトリは実際には実際のディレクトリとして存在するため、名前が衝突する可能性さえあります。仮想バンドル パスを、デフォルトでは存在せず、実際のファイル システム上に作成されることを意図していないディレクトリにしたいと考えていました。~/Content/css
私が理解していないCSSバンドルの仮想パスに使用される理由はありますか?