問題タブ [webgrease]
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.
model-view-controller - @Scripts.Render は、WebGrease.dll を 1.6.0 バージョンにアップグレードしてから Azure Web ロールにデプロイした後、エラーを引き起こしました
WebGrease.dll を 1.5.2 から 1.6.0 にアップグレードし、Azure Web ロールにデプロイした後、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生しました。ダウングレードすることでこの問題を解決しました。 WebGrease.dll を以前のバージョンに戻しますが、その理由を知りたいのですが、次回は最新バージョンにアップグレードする必要があるかもしれません。誰か助けてください。ありがとう。
asp.net-mvc - System.Web.Optimization.JsMinify が無効な JavaScript を生成する
System.Web.Optimization
MVC 5 Web アプリケーションで JavaScript および CSS ファイルをバンドルおよび縮小するために、標準構成であると思われる v1.3 を使用しています。ほとんどの場合、これは非常にうまく機能しますが、縮小プロセスによって JavaScript が破損するケースを発見しました。
以下は、もともと AngularJS の入力検証ディレクティブだったものを簡略化したものです。
上記のコードは (トリミングされているため) 役に立ちませんが、縮小の問題を示しています。縮小すると、結果の JavaScript は次のようになります。
元のコードではループ変数が使用されているにもかかわらず、縮小化によってパラメーター名と関数がt
どのように割り当てられているかに注目してください。i
link
i
言うまでもなく、これはコードを壊します。この場合、ループ変数の名前を変更することで修正できますが、私が認識していない の縮小化に他の悪影響がある可能性があることを懸念していJsMinify
ます。
したがって、この問題に関連して 3 つの質問があります。
- これは小型化のバグであると仮定するのは正しいですか? もしそうなら、どこかに報告すべきですか?
- 縮小されたコードでこの問題の他のインスタンスを見つける実用的な方法はありますか?
- で使用されている JavaScript 縮小エンジンを置き換えることは可能
System.Web.Optimization
ですか。
事前に、あなたのアイデアに感謝します。ティム
更新: さらに調査を行った結果、実際にはWebGrease
に代わって縮小を実行しているのはSystem.Web.Optimization
、この問題であることがわかりました。これは私の最初の質問に答えているようですが、代替のミニファイアーに関するアドバイスをいただければ幸いです。
asp.net-mvc - 要求ごとに ASP.NET バンドルが生成されるのは正しいですか?
最近、パフォーマンスの問題が発生し、確認する必要があることが明らかになりました。
次のようなバンドルを含める場合:
これは実行されているようです (dotTrace を使用して識別され、これを実行していることがわかります):
インクルードのあるページと、スクリプト自体の呼び出しの両方へのすべてのリクエストに対して。
現実のシナリオでは、クライアントがスクリプトをキャッシュするため、スクリプトへのヒットは 1 回だけです。ただし、控えめに言っても効率が悪いようです。
問題は、これが予想される動作であるかどうかです。そうでない場合は、修正したいと思います (提案がある場合)。ただし、そうである場合は、スクリプトを事前に縮小できます。
アップデート
そのため、コンパイル モードをデバッグに変更しても、まだ minify メソッドが起動しています。個々の URL を出力しますが、それでも縮小しようとします。
ただし、レンダリング メソッドへのすべての参照を削除すると、何も縮小しようとせず、高速に実行され、アプリ プールが膨張せず、Web サーバーの CPU が最大になりません。
asp.net - 同じ名前空間を持つ拡張メソッド IsNullOrWhiteSpace が 2 つのアセンブリに配置されている
ASP.Net MVC プロジェクトがあります。プロジェクトには、WebGrease、packages.config が含まれています。
最近 ( https://www.nuget.org/packages/BundleTransformer.MicrosoftAjax/ ) のために、packages.config に AjaxMin を追加しました。
私のコードでは、IsNullOrWhiteSpace() 拡張メソッドを使用しています。このメソッドは、実際には次の 2 つのライブラリに存在します。
Visual Studio は、どちらを使用する必要があるかを判断できません。
WebGrease への参照を削除できません。削除すると、次の例外が発生するためです。
どうすれば競合を解決できますか?
ありがとうございました