問題タブ [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.
javascript - MVC4ベータの縮小とバンドル:ファイルの注文とブラウザーでのデバッグ
MVC4ベータ版に含まれているバンドリングとミニファイを使い始めました。私はそれに関していくつかの問題に遭遇しています:
1つには、従来のバンドルを使用する場合<script src="Folder/js" type="text/javascript"/>
、ファイルの名前を変更して、適切な順序でバンドルされていることを確認する必要があるようです。
- 「ants.js」、「bugs.js」、「insects.js」の3つのJavaScriptファイルがあるとします。
- ants.jsはbugs.jsに依存しています
- bugs.jsはinsects.jsに依存しています
- デフォルトのバンドルは、アルファベット順にバンドルしているようです。
- それらを適切にバンドルするには、名前を「0.insects.js」、「1.bugs.js」、「2.ants.js」に変更する必要があります。
- それは本当にハックであり、よりクリーンな方法が必要です。
私が抱えている次の問題はデバッグです。テストブラウザでJavaScriptをステップ実行するのが好きですが、DEBUGモードでミニファイだけをオフにする方法はありますか?
編集:明確にするために、私はバンドルを作成してC#から登録できることを知っています、それをそのように行わなければならないのは本当に醜いようです。
asp.net-mvc-4 - mvc 4 バンドルと縮小 - 更新しても 304 (変更されていません) になりません
MVC 4 Beta のバンドルと縮小を試していSystem.Web.Optimization
ます。私が使用しているサイト304 (Not Modified)
が更新時に を受け取ることを期待していました。
私の js バンドル/desktop-js-bundle?v=D33JhbMl9LHkXSPBj1tfRkRI0lHeYVmbSMQqD59bXHg1
(そのバージョン #) に対する src のポイントは、サーバー上のバンドル内のファイルの 1 つが変更された場合にのみバージョン # が変更されることだと思いました。それでも、更新を押して Chrome の [ネットワーク] タブを監視するたびにF12、同じバージョン番号でリクエストが行われ、200
ステータスが取得されます。
304 を返さないのはなぜですか?これにより、負荷が減少し、適切な量のパフォーマンスが向上します。ありがとう!
asp.net - 新しい ASP.NET バンドル機能 - 特定のバンドルをプログラムで更新するにはどうすればよいですか?
ASP.NET MVC 3 Web アプリケーションで新しい ASP.NET バンドル機能 (System.Web.Optmization 1.0.0-beta プレリリースを使用) をいじっています。
よく働く。
ただし、データベースに保存されている特定の動的CSS/JS があります。
「DynamicBundle」など、コア バンドルの別のバンドルにこれを追加したいと考えています。私はそれを行う方法を知っていますが、問題ではありません。
私の質問は、この CSS/JS がデータベースで変更された場合、そのバンドルを「更新」して、それらのファイルの内容をバンドルに再読み込みする必要があるということです。
基本的に、バンドル URL に追加される魔法の GUID/文字列を再生成するには、ASP.NET が必要です。
理想的には、バンドル テーブル全体ではなく、特定のバンドルのみを更新したいと考えています。
これを行う方法はありますか?
編集:
2 つ目の問題は、動的 CSS/JS をバンドルに追加する方法がわかりません。bundle.AddFile
ファイルへの仮想パスを取りますが、これは物理ファイルではなく文字列です。どうすればいいですか?確かに、最初に文字列をファイルに書き出す必要はありませんか?
EDIT 2: 動的コンテンツをバンドルしないことにしました。2 つの理由から:
- 1ファイルのみなので、「バンドル」のメリットはありません
- バンドルは静的コンテンツ用に設計されていますが、これはそうではありません
だから私がやったことは、実行時に動的なcss / jsを手動で縮小することです(一度、次にキャッシュされます)。そうすれば、キャッシュをクリアするだけで簡単に更新できます。
そうは言っても、これはまだ関連する質問です(バンドルの更新)ので、開いたままにします..
jquery - カスタムバンドル注文を適用するには?
新しい ASP.NET バンドル機能をいじっていますが、カスタムの順序付けが機能していないようです。ここに私のJSファイルがあります:
すべての jQuery ファイルの前に、バンドラーが boostrap*.js を出力するようにします。内部的にバンドラーが jQuery ファイルを一番上にソートすることを理解しているので、成功せずにロジックをオーバーライドしようとしました:
注: コードですべてのファイルを指定せずにすべてのケースをカバーするために、可能であればワイルドカードを使用することをお勧めします。
カスタムオーダーを適用できることを知っている人はいますか?
ありがとう
asp.net-mvc - MVC4バンドルバンドルKnockout.jsがないのはなぜですか?
MVC4をダウンロードして、標準プロジェクトでバンドル機能がどのように機能するかを調べようとしています。バンドルを持っているように見えます:
含まれているスクリプト内のすべてのjquery.jsファイルを戻しますが、knockout.jsファイルは戻しません。どうしてこれなの?また、_references.jsファイルとは何ですか?また、knockout.jsファイルがコメントアウトされているのはなぜですか?
asp.net - MVC 4 でのランタイムの動的なバンドルと縮小
MVC 4 に同梱されている新しい最適化名前空間を使用してバンドルと縮小を手伝ってくれる人がいるかどうか疑問に思っていました。ユーザーごとの設定に基づいてどの js ファイルをロードするかを決定したいマルチテナント アプリケーションがあります。1 つのアプローチは、事前にすべてのバンドルを作成し、ユーザーの設定に基づいて resolvebundleurl の仮想パスを変更することですが、それは実際には正しい方法ではありません。また、ユーザー設定に基づいて cshtml ビューに動的な css があり、実行時に縮小したいと考えています。
助言がありますか?Requestreduce をチェックする他の質問でも多くの反応が見られますが、それらはすべて同じユーザーからのものです。
両方の状況を処理するための最良のアプローチは何でしょうか?
前もって感謝します!
asp.net-mvc - ローカライズされたスクリプトバンドルソリューション
こんにちは私は現在、System.Web.Optimizationでasp.net MVC4rcを使用しています。私のサイトはユーザーの好みに応じてローカライズする必要があるため、jquery.globalizeプラグインを使用しています。
ScriptBundleクラスをサブクラス化し、に応じてバンドルするファイルを決定したいと思いますSystem.Threading.Thread.CurrentThread.CurrentUICulture
。これは次のようになります。
たとえば、UIカルチャが「en-GB」の場合、次のファイルを取得します(もちろん、縮小し、可能であれば、スクリプトファイルまたはcurrentuiカルチャが変更されるまでキャッシュします)。
- "〜/ Scripts / jquery.globalize / globalize.js"
- "〜/ Scripts / jquery.globalize / globalize-en-GB.js" <-このファイルがサーバーファイルシステムに存在しない場合は、globalize-en.jsにフォールバックします。
Includeメソッドを次のようなものでオーバーロードしようとしましたが、リクエストではなくアプリケーションの起動時に評価されるため、これは機能しません。
ありがとう
コンスタンチノス
asp.net - 新しいバンドルを作成しようとすると NoTransform が機能しない
私は例に従っていますが、MVC プロジェクトのカスタム バンドルを作成するときに「NoTransform」を機能させることができません。「エラー 1 タイプまたは名前空間名 'NoTransform' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)」 . 何かご意見は?
asp.net-mvc-4 - mvc4は強く型付けされたバンドルをバンドルします
そのため、MVC4ではスクリプトとスタイルのバンドルが導入されています。これはこれを可能にします:
次に、次のようなかみそりのビューで使用されます。
私の質問は、なぜ入力する必要があるのかということ"~/bundles/mobile"
です。強く型付けされたオブジェクトを取得するためのインテリジェンスを取得する方法はありますか?それ以外の場合は、同じものと呼んでいることを確認するために調べに行く必要があります。
私はこのようなことをしたいと思います:(これはこのようにコンパイルされないことを私は知っています、それは単なる例です)
またはそれに影響を与える何か。
編集:答えはとても簡単です。@Hao Kung
指摘するように@Styles.Render
、単にURL文字列パスを取ります。パスを保持するクラスを作成しました。
どのページでも、あなたは単にします
そこにあります。あなたの側で少し余分な努力がありますが、少なくとも今は強く型付けされています。
asp.net-mvc - Microsoft ASP.NET Web 最適化フレームワークを使用した MVC4-RC (.net 4.0) のエラー
Microsoft ASP.NET Web 最適化フレームワークhttp://nuget.org/packages/Microsoft.AspNet.Web.Optimization/1.0.0-beta3で最新の MVC4-RC (.net 4.0) を使用していますが、これを受け取っていますエラー。
メソッドが見つかりません: 'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'.
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.MissingMethodException: メソッドが見つかりません: 'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'.
[MissingMethodException: メソッドが見つかりません: 'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'.] C の App.MVC.BundleConfig.RegisterBundles(BundleCollection バンドル) :...\App_Start\BundleConfig.cs:53 App.MVC.MvcApplication.Application_Start() in C:...\Global.asax.cs:47
[HttpException (0x80004005): メソッドが見つかりません: 'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'.] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext コンテキスト、HttpApplication アプリ) +4057141 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext、HttpContext コンテキスト、MethodInfo[] ハンドラー) +191 System.Web.HttpApplication.InitSpecial(HttpApplicationState 状態、MethodInfo[] ハンドラー、IntPtr appContext、HttpContext コンテキスト) + 352 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext、HttpContext コンテキスト) +407 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375
[HttpException (0x80004005): メソッドが見つかりません: 'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'.] System.Web.HttpRuntime.FirstRequestInit(HttpContext コンテキスト) +11700896 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext コンテキスト) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr、HttpContext コンテキスト) +4869125
これは私が使用しているコードです:
global.asax.cs で
そして App_Start/BundleConfig.cs で
私もこのプロジェクトで Azure を使用していますが、面白いことに、初めて Azure を起動すると、このエラーが発生します。次に、MVC プロジェクトを再構築してページを更新すると、機能します。
これを解決するにはどうすればよいですか?