問題タブ [system.web.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.

0 投票する
1 に答える
268 参照

asp.net-mvc - エリア内の仮想パスの束ね

次の仮想パス (プラグイン フレームワーク) でスタイル バンドルを作成したい:

そのパスに移動すると、ファイルが存在しないというエラーが表示されます。静的ファイル ハンドラーがファイルを検索しようとしています。バンドルでこれを機能させるにはどうすればよいですか?

0 投票する
2 に答える
422 参照

asp.net-mvc - MVC JS バンドルを外部からロードする

MVC 5 プロジェクトに小さな JS ライブラリがあり、外部ユーザーがアプリにロードできるようにしたいと考えています。現時点では、次のようにバンドルしています。

その後、バンドルされたライブラリにブラウザー経由でパスでアクセスできます/clientApi

ただし、web.config debug=true を設定しても常に縮小され、自分のアプリの他のバンドルは縮小されていないものとして含まれています。

バンドル内のファイルを縮小されていないバンドル ファイルとして利用できるようにするにはどうすればよいですか?

0 投票する
2 に答える
1893 参照

asp.net - バンドル有効化の最適化

javascript ファイルの mvc プロジェクトで BundleTable.EnableOptimizations を有効にすると、どのファイルも読み込まれません。エラーも出ません。それは単に私のファイルをロードしません。

これは私のバンドルです:

そして私の見解では:

最適化を無効にすると、再び正常に動作するため、すべてのファイルが存在します。

0 投票する
1 に答える
1486 参照

c# - Script.Render (絶対パスまたは部分パス) がコンパイルのバンドルを無効にしない debug=true

バンドル パスがルート フォルダに対して相対的でない場合に、Script.Render がコンパイル用のバンドルを無効にしない理由を知っている人はいますか?

次のようなルートへの相対パスを使用してバンドルを作成しています (このパス タイプは必須です。そうしないと、例外がスローされます)。

しかし、レンダリングしようとすると、以下のような完全な URL を提供する必要があります。

また、バンドルはコンパイルのデバッグ モードに関係なく有効になります。

私が見逃しているアイデアはありますか?

私の質問はこの質問に非常に関連しています-私はバンドルをそのようにレンダリングしています-今:コンパイル時に debug="true" を無効にするにはどうすればよいですか?

何か案は ?

ありがとう!オヴィ

0 投票する
1 に答える
350 参照

c# - 単体テスト: BundleTable.Bundles のモック

バンドルに含まれるスクリプトをレンダリングするために作成されたカスタム ヘルパーの単体テストを実行しようとしています。

私の問題は、BundleTable.Bundlesオブジェクトのモックを作成する必要があることですが、これを実現する方法が見つかりませんでした。

私の方法は次のようになります。

これを達成する方法はありますか?

Rhino Mocks を使用しています。

0 投票する
2 に答える
1276 参照

asp.net - IItemTransform と既存の縮小ファイル

TL;DR :IItemTransform縮小されたファイルが元の (縮小されていない) ファイルと同じフォルダーに既に存在する場合、実行されません。

問題の説明

主にCSSの相対画像参照が原因で、この問題が発生しています。Javascript ファイルを使用IItemTransformした場合も同様です。

これは私が使用しているものです:

  1. LESS ファイルをサポートするために、Visual Studio と Web Essentials アドインを使用しています。
  2. LESS ファイルを作成していて、Web Essentials アドインが保存時にファイルを自動的に縮小します
  3. プロジェクトでバンドルとミニフィケーションも使用しています
  4. CSS バンドルを作成するときCssRewriteUrlTransformに、CSS URL を絶対 (背景画像など) にするために使用しているため、複数の CSS ファイルをまとめた後も画像が機能します。

これまでのところ異常はありませんが、機能しません。

問題に見えるのは?

バンドルと縮小が機能する方法は、過剰な処理を回避しようとすることです。これは、縮小されたファイルが元のファイルと同じフォルダーに存在する場合、独自の縮小を実行せず、既存のファイルを提供することを意味します。

これは、少なくとも既存の縮小されたファイルに対して変換を実行する限り、問題ありません。しかし、そうではありません。そのため、これらのリソースのほとんどすべてを壊すバンドル内の相対 URL になってしまいます。

回避策

  1. LESS ファイルでは常に絶対パスを指定します
  2. Web Essentials 設定で保存時のファイル縮小を無効にする
  3. バンドルを定義するときに縮小されたファイルを参照してください。これは、縮小されたバージョンがない( *.min.css には *.min.min.css がない) ためです。それ。

私の開発プロセスと使用したツール (およびその構成方法) の観点からすると、これはバグのように見えます。これらのファイルが同じ縮小プロセスの結果である場合、縮小が実行されるときに変換が実行されるため、これはまったくバグではありません。そのような機能が存在しないことは事実であり、機能させるにはアプリが書き込み権限を必要とするため、今後も存在しない可能性があります。結果:これはバグです。既存の縮小されたファイルは、キャッシュされる前に変換によって処理する必要があります。

質問

どういうわけか、バンドルと縮小を次のいずれかに納得させることは可能ですか?

  1. 既存の圧縮ファイル バージョンを使用しない
  2. 既存の縮小版に対して変換を実行する
0 投票する
2 に答える
2390 参照

asp.net - Cookie を使用しない静的コンテンツ サーバーを使用している場合に、バンドルの縮小を解除して個々のファイルを一覧表示するにはどうすればよいですか?

私は 2 つの VS プロジェクトを持っています。1 つはメイン Web サイト用で、もう 1 つは「静的コンテンツ」Web サイト用で、すべての css、js、画像、およびその他の静的コンテンツが保存され、Cookie のないドメイン経由でアクセスされます。

したがって、すべてのバンドルを作成する静的サイトに BundleConfig.cs があります。

メイン サイトには別の BundleConfig.cs があり、メイン サイトを次のように静的コンテンツ サイトにポイントします。

@Styles.Render("~/bundles/styles")これで、 and @Scripts.Render("~/bundles/scripts")which render をこのように使用できるようになりました。

私が抱えている問題は、かどうかに関係なく、コンテンツが常に縮小され、バンドルされているdebug=trueことです。BundleTable.EnableOptimization = false両方の BundleConfig.cs ファイルで使用し@Styles.Render()ても、@Scripts.Render()それぞれ 1 つのタグのみをレンダリングし、縮小されたコンテンツを参照します。

メイン サイトが静的コンテンツ サイトにバンドルされた個々のファイルを認識していないことは理解していますが、メイン サイトの BundleConfig でこれらのパスを手動で指定して、Render() メソッドが最適化がオフになっているときにそれらを個別にリストします...それらをオフにすることができれば、それはです。