問題タブ [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-4 - MVC4 @Styles.Render() がデバッグ モードで期待どおりに動作しないのはなぜですか
MVC4 でバンドルと縮小のサポートを実装し、Bootstrap .less ファイルを自動的にコンパイルできるように設定しています。BundleConfig.cs ファイルに次のコードがあります。
TwitterBootsrapLessTransform は次のとおりです (サブ .less ファイルを dotLess にインポートする必要があるため、必要以上に複雑です)。
私のベース _Layout.cshtml ページで、これを実行して css ファイルをレンダリングしようとしました
mvcチュートリアルで提案されているように、クライアントブラウザが最終的に要求するファイルは
これはエラーを引き起こします。次のリンクをベースレイアウトページごとに配置すると、期待どおりに機能します。
@Styles.Render() がデバッグ モードで同じように動作しないのはなぜですか? リリースモードで動作します。デバッグでバンドルと縮小を望まないことは理解できますが、このバンドルを常に同じように機能させるにはどうすればよいですか?
asp.net-mvc-4 - MVC4 のバンドルと縮小によってファイルが大きくなるのはなぜですか?
MVC4 でバンドルと縮小のサポートを実装していますが、JavaScript ファイルがバンドル/縮小されていない場合よりも大きくなっているように見えます。nuget で利用可能な最新のビルドを使用しています (プレリリース オプションがオン)。RegisterBundles クラスに次のバンドルを設定しました。
そして、私はそれを私の _Layout.cshtml にロードしています
デバッグ モードでこれらのスクリプトの Fiddler で受信したバイト数を合計すると、次のようになります。
そして、本番サーバーで実行すると、js バンドル全体のフィドラーから次のようになります。
ここで何が起こっているのですか?ほとんどのファイルはある程度縮小されていますが、ペイロードのサイズがほぼ 2 倍になることはありません。
追加の詳細 - ローカルの開発ボックス (フィドラーはサイズ 379kb を報告) とサーバー (フィドラーはサイズ 999kb を報告) から js ファイルをダウンロードし、それらを kdiff に入れると、バイナリは同一です。Chrome の開発者ツールのネットワーク タブを見ると、ローカル サーバーは 379kb をダウンロードしますが、「パーサー」の値は 975kb です。このパーサー値は何ですか。私のサーバーには設定されていないが、私のローカル IIS サーバーには設定されている IIS 圧縮設定があるのでしょうか? 私が注目している唯一の違いは、開発マシンで実行している IIS Express が 8.0 で、サーバーが IIS 7.5 であるという事実です。
asp.net-mvc - ASP MVC4アプリでリソースバンドルがリダイレクトされるのはなぜですか?
RCを使用しており、NuGetを使用してすべてが最新であることを確認しました。私のglobal.asax.csで、iveは次のようになりました。
私はこれのいくつかの異なる構成を改善せずに試しました。
それから私のレイアウトでiveは得ました:
ページが読み込まれると、まともなURLが表示されます。
しかし、そのURLは次の場所にリダイレクトされます。
404notfoundエラーを返します...
誰かアイデアがありますか?
javascript - MVC4 部分ビュー JavaScript バンドルの問題
Visual Studio 11 を使用してプロジェクト ASP.net 4、MVC4(RC) に取り組んでいます。部分ビューをレンダリングする MVC4 Razor ビューをレンダリングしようとしています。部分ビューに必要な JavaScript がいくつかあります。私の部分的なビューでは、次のようにスクリプト セクション内に JavaScript を含めると、読み込まれないようです。
スクリプト セクションを削除すると、jquery ライブラリ (私の _Layout.cshtml ページにバンドルされてレンダリングされている) がまだロードされていないため、ドキュメントの準備が整ったコードが実行されたときに失敗します。
jquery ライブラリをロードするための _Layout ページ コード
誰かがこれに対する解決策を知っていますか、それとも単に間違った方法で進んでいますか? それは私の頭を破壊します!!
asp.net-mvc-3 - GZipsystem.web.optimizationバンドル
私は新しいSystem.Web.Optimizationを使用しており、次のようなバンドルを作成しました。
私の見解では、これを追加しました
フィドラーでは、URLに1年後のexpiresヘッダーとtext/javascriptのコンテンツタイプが表示されます
web.configには、静的JSファイルで動作するgzipのコードがありますが、縮小されたバンドルでは動作していないようです。
レンダリングバンドルをコンテンツにgzipで圧縮する方法はありますか?
css - MVC4 StyleBundle が画像を解決しない
私の質問はこれに似ています:
可能であれば、MVC 独自のバンドルに固執したいことを除いて。スタンドアロンの css や jQuery UI などのイメージ セットが機能するように、スタイル バンドルを指定するための正しいパターンを見つけようとして頭が混乱しています。
/Content/css/
などの基本 CSS を含む典型的な MVC サイト構造がありますstyles.css
。そのcssフォルダー内に/jquery-ui
は、CSSファイルとフォルダーを含むサブフォルダーもあり/images
ます。jQuery UI CSS のイメージ パスは、そのフォルダーに対して相対的であり、それらを台無しにしたくありません。
私が理解しているように、を指定するときはStyleBundle
、実際のコンテンツ パスとも一致しない仮想パスを指定する必要があります。これは、(コンテンツへのルートを無視していると仮定して) IIS がそのパスを物理ファイルとして解決しようとするためです。だから私は指定しています:
以下を使用してレンダリング:
リクエストが次の場所に送信されていることがわかります。
これにより、縮小された正しい CSS 応答が返されます。しかしその後、ブラウザは相対的にリンクされた画像のリクエストを次のように送信します。
これは404
.
私の URL の最後の部分はjquery-ui
拡張子のない URL、私のバンドルのハンドラーであることを理解しています/styles/images/
。
だから私の質問は、この状況を処理する正しい方法は何ですか?
unit-testing - MVC4でBundleConfigを単体テストすることは可能ですか?
私の知る限り、答えはノーです。私が見ている問題は、クラスのInclude(params string[])
メソッドに起因しています。System.Web.Optimization.Bundle
内部的にこれはを呼び出しSystem.Web.Optimization.IncludeDirectory(string, string, bool)
、次にこのコードを使用します。
HttpContext.Current
単体テスト中に設定することは可能ですが.Server.MapPath(string directoryVirtualPath)
、null以外の文字列を返す方法がわかりません。null引数が渡されるとコンストラクターが例外をスローするためDirectoryInfo(string)
、このようなテストは常に失敗します。
これに対する.NETチームの推奨事項は何ですか?統合テストまたはユーザー受け入れテストの一部として、バンドル構成を単体テストする必要がありますか?
visual-studio-2010 - BundleTable.Bundles.RegisterTemplateBundles
VS2010 で作成された MVC4 RC プロジェクトがあります。何が起こったのかわかりませんが、突然次のエラーが発生し始めました。
エラー 1 'System.Web.Optimization.BundleCollection' には 'RegisterTemplateBundles' の定義が含まれておらず、タイプ 'System.Web.Optimization.BundleCollection' の最初の引数を受け入れる拡張メソッド 'RegisterTemplateBundles' が見つかりませんでした (ディレクティブまたはアセンブリ参照を使用していますか?) C:\xxxx\xxxx\Global.asax.cs 40 33 xxxx
エラーは Application_Start() から来ています:
Global.asax.cs ファイルに次の using ステートメントがあります。
何か案は????
asp.net-mvc - すべてのファイルを追加するasp.net mvcスクリプトバンドル
スクリプト バンドルを追加し、次のようなものがある場合:
生の Jquery バージョンと縮小バージョンをロードします。これらのファイルは両方とも Scripts フォルダーにあるため、アスタリスクはまさにあなたが言っていることをしていると思います。
debug=false モードのときに縮小版のみをレンダリングし、debug=true の raw バージョンをレンダリングする方法はありますか?
それとも、アスタリスクを使用する代わりに、実際に必要なファイルを正確に指定することにかかっていますか?
よろしく、ジャック
asp.net-mvc-4 - ファイルの代わりにMVC4バンドルURL
私のタイトルはすべてを示していると思います。物理ファイルの代わりにJavaScriptResultを返す一連のアクションURLをバンドルしたいのですが、これはどういうわけか可能ですか?
よろしくお願いします