問題タブ [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.
razor - System.Web.Optimization は、クラス ライブラリ プロジェクトの Razor ビュー ファイルでは使用できません。
モジュール化されたasp.net mvc4プロジェクトで作業しています。一部のビューはクラス ライブラリ プロジェクトにあります。かみそりビューでインテリジェンスを有効にするように web.config を既に設定しています。@モデル、@Html. ※他は全て正常に動作しております。しかし、@Scripts.Render() を使用してビューで js ファイルを参照しようとすると、「スクリプト」が見つかりませんと表示されます。web.config ファイルを確認しました。System.Web.Optimization は // ノードにあります。Nuget による Microsoft.AspNet.Web.Optimization パッケージもインストールしました。
System.Web.Optimization メンバーを使用するコードを .cs ファイルに入力しようとしましたが、動作します。しかし、.cshtml ファイルで同じことを行うことはできません。@using System.Web.Optimization と入力しても、最適化が見つからないというメッセージが表示されます。
この問題を解決するために他に何ができるかわかりません。手がかりは大歓迎です。
asp.net-mvc-4 - -{version} を使用するには、mvc 4 バンドルに js ファイルの番号が必要ですか?
<compilation debug="false" targetFramework="4.0" />.
数時間後、.js ファイルの名前を番号付きのファイル名に変更する機会がありました。これで動作します。しかし、私はそれに関するドキュメントを見つけることができません! 何か説明はありますか?
これが私のバンドル コードです。最後の 2 つのファイルは私のものです。
ファイル名が ~/Scripts/tp.js、~/Scripts/tpmodel.js、~/Scripts/tp.min.js、~/Scripts/tpmodel.min.js の場合、これはスクリプトをレンダリングしません。
しかし、ファイル名が
~/Scripts/tp-1.0.0.js、~/Scripts/tpmodel-1.0.0.js、~/Scripts/tp.min-1.0.0.js、~/Scripts/tpmodel-1.0.0.min. js
(違いは、ファイル名に -1.0.0 が追加されていることです)。
javascript - ASP.NET MVC4 の Web 最適化は、標準のインターネット アプリケーションでキャッシュ バスターを縮小または追加しません。
Web 最適化を使用して js と css を縮小およびバンドルすることを検討しているため、ビジュアル スタジオで新しいバニラ mvc4 インターネット アプリケーションを起動し、RELEASE モードを設定して F5 キーを押します。
私が期待していたように振る舞うようには見えません。ソースを見るとわかります。
キャッシュバスター ?v=kjzshd3289sjhdf98je3l が表示されることを期待していました。
また、スクリプトと css は最小化されていません。
c# - BundleTransformer.Less コンテキスト/リクエストに応じて変数を挿入する
System.Web.Optimization
レストランスと組み合わせてのバンドリング機構のご利用をお願い致します。
問題は、同じアプリケーション/サーバーが異なるブランドの Web サイトのページを提供することです。そのため、「SiteContext」に応じて同じ .less ファイルが使用されますが、.less 変数では異なる値を使用する必要があります。したがって、リクエストのコンテキストに応じて、同じ少ないファイルを (再) 使用する必要がありますが、変数は異なります。
私はいくつかの異なる理論を試しました:
3 つのケースすべてで、SiteContext に応じて異なるバンドルをセットアップします。
1 variables.less ファイルをインターセプトするカスタム VirtualPathProviderを使用して、テーマ変数を含む @import ディレクティブを挿入します。
ので、私は持っています:
- スタイリング ファイル例: header.less (変数ファイルをインポートします)
- 変数ファイル: variables.less
- テーマ変数ファイル: variables-theme.less (VirtualPathProvider を介して variables.less に挿入されます)
BundleTransformer キャッシュはこれを同じファイルと見なし、SiteContext を認識しないため、これは機能しません。キャッシュ キーは URL に基づいており、IAsset
この動作に影響を与えることはできません。
2 variables-themed.less によるvariables.less インポートを、Less トランスフォーマーの前に実行されるカスタム トランスフォーマーに置き換えます。
繰り返しますが、同じキャッシングの問題です。
また、副作用として、追加のトランスフォーマーはデバッグで呼び出されませんでした。これは、アセットがバンドルされておらず、 によって個別に呼び出されているためLessAssetHandler
です。これは、必要なすべてのトランスフォーマーを呼び出す独自の AssetHandler を作成することで解決できます。
3カスタム VirtualPathProviderによって解決されるテーマ別アセット名を作成します 。header-themeX.less をバンドルに追加します。このファイルは存在しませんが、このファイルを header.less に解決し、方法 2 を使用して正しい変数ファイルのインポートを設定します。(variables.less のインポートをテーマ バージョンに置き換えます)。
もう一度運がない。内部Bundle.Include(string virtualPath)
で行うことがなければ、これでキャッシュの問題を解決できると思います。File.Exists(path)
を経由しませんCustomVirtualPathProvider
。
これを解決するために深く探していますか?System.Web.Optimization
すべてのアイデアを歓迎します。ライブラリの人気が高まるにつれて、これはますます多くの人々にとって問題になると想像できます...
それを念頭に置いて:
- 多くの .less/css ファイルがあります
- 5つほどのテーマがあります
- 私たちはビジュアルスタジオで物事を動かし続けるのが好きです (それが、header.less が variables.less への参照を持っている理由です)
フィードバックをお寄せいただきありがとうございます。
c# - コード ビハインドから System.Web.Optimization の内容を読み取る方法はありますか?
コード ビハインドから System.Web.Optimization の内容を読み取る方法はありますか? dll を調べてみましたが、バンドルの内容を読み取る方法が見つかりませんでした (私が知る限り、バンドルの呼び出しを処理するハンドラーを介して動作することを意図していました。
私の意図は、sass を使用することです。これは、(縮小化に加えて) 変換のために処理が重くなり、それをファイルとして生成し、エンドユーザーに提供することです。WebRequest を使用してファイルを読み取り、応答を保存することで 1 つの解決策を見つけましたが、ハッキングしたように感じます。
asp.net-mvc-4 - 縮小された CSS で div 背景画像が機能しないのはなぜですか?
MVC4 を使用して CSS ファイルを縮小していますが、背景画像を持つ div タグでリリース モードの画像が表示されません。firebug でページを調べると、「画像の読み込みに失敗しました...」と表示されます。
デバッグ モードでは機能しますが、リリース モードでは機能しません。
div の背景画像の何が問題になっていますか?
私のプロジェクトの物理パスは「\Content\themes\default\images\」で、CSS は次のようになります。
私は以下をテストしました:
動作しますが、サンプルの MVC4 インターネット アプリケーションを作成してその CSS を見ると、画像のアドレスは次のようになります。
なぜこれがうまくいかないのですか?
c# - ASP.NET バンドルを事前キャッシュできますか?
MVC Web アプリケーションをデプロイするたびに、サーバーはすべての js および css バンドルを再キャッシュする必要があります。
このため、デプロイ後に最初のビューがレンダリングされるまでに数秒かかる場合があります。
バンドルを事前キャッシュする方法はありますか? 結局、ファイルはコンパイル時に静的です。
asp.net - フィルター: progid:DXImageTransform.Microsoft.AlphaImageLoader が使用されている場合、ASP.NET CSS の縮小が失敗します。
一連のcssファイルを縮小していますが、そのうちの1つに含まれています
縮小プロセスが失敗する原因となる IE6 の png-transparency 修正として。この問題の回避策はありますか?
ありがとう!