問題タブ [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.
css - 非常に大きなカスケーディング スタイル シート (CSS) ファイルを作成する最善の方法は何ですか?
私たちのウェブサイトには非常に複雑なスタイルがあり、CSS が管理不能にならないようにしたいと考えています。
本番環境では、パブリック CDN サーバーを介して、おそらく最小化されたバージョンで利用できる、可能な限り最小数の外部 CSS ファイル (理想的には 1 つ?) が理想のようです。
開発では、複数の CSS ファイルが理想のようです。各 CSS ファイルには、タブや DateTime ピッカーなど、特定の概念のスタイルだけが含まれます (これらは単なる構成ですが、アイデアはわかります)。複数のファイルがあると、開発者/デザイナーは関心のある CSS クラスをすばやく見つけることができます。また、全員が個別のファイルを更新しているため、ファイル競合の問題に直面することも少なくなります。
開発目的で個々のファイルを保持したいのですが、本番用に CSS ファイルを連結/縮小する外部アプリがあります。ただし、これらの問題に直面したのはこれが最初のサイトではないと確信しているため、他の人がこれをどのように解決したかを聞くことに興味があります.
.net - 新しい CSS または JavaScript ファイルをデプロイした後、クライアント ブラウザーのキャッシュが更新されたことを確認するにはどうすればよいですか?
私は使用していますMicrosoft ASP.NET Web Optimization Framework
ご存知かもしれませんが、すべての JS/CSS を 1 つのファイルに連結できます。config で出力ファイル名を定義し、ユーザー ブラウザが更新 JS/CSS を確実に取得できるように、次のようなパラメータを追加できます。v=yUVjELgc9foFnhZgsvMfx2DhVRLKWK-w69IoCVhJ_aM1
リンクは次のようになります。
すべてのブラウザーがそのパラメーターをサポートしているわけではなく、キャッシュを更新していないと聞きました。
すべてのブラウザがこのアプローチを使用してキャッシュを更新するか、新しいファイル名を手動で生成する必要があると確信できますか? それをサポートしていないブラウザを見ることができるテーブルはありますか?
ありがとうございました
asp.net - マイクロソフトのWeb最適化フレームワークはcss@importをサポートしていますか?
BundleConfig
私はcssファイルリストを定義しています。このファイルのいずれかに@importrules(@import url('/css/typography.css');
)がある場合、このフレームワークはターゲットのcssファイルも最小化しますか?
ありがとうございました
javascript - ASP.NET MVC4 バンドル スクリプトがサブ フォルダー内のスクリプトを検出しない - なぜですか?
ASP.NET MVC4 アプリケーションの RegisterBundles メソッドで、次のスクリプト バンドルを作成します。
そのため、「whatever1.js」は Scripts フォルダーの直下にあり、「whatever2.js」は Scripts の下のサブフォルダーにあります。
コードを (デバッグで) 実行すると、「whatever1.js」スクリプト ファイルが読み込まれますが、サブフォルダー内のファイルは読み込まれません。
これは大規模なサイトであり、健全性を保つために、スクリプト ファイルを別のフォルダーに分離することが今までのところ有用であることが証明されています。
問題は、これは私の悪い習慣なのか、それともバンドル メカニズムがまだ存在しないのか (または単に構文を台無しにしただけなのか) ということです。
前もって感謝します
グリフ
asp.net-mvc-4 - 絶対パスを含む ASP.NET MVC バンドル
すべての javascript および css ファイルを含む IIS 上の仮想ディレクトリがあります。バンドルを使用して、これらのファイルを ASP.NET MVC アプリに含めることは可能ですか?
私はすでに次のようなことを試しました:
しかし、エラーが発生しました:
アプリケーションの相対 URL (~/url) のみが許可されます。:
/public/javascript は IIS 上の仮想ディレクトリです。
jquery - イニシエータ jquery.min.js - ajax-loader.gif および black.png で 404 が見つかりません
縮小されたJS、コメントなしのCSSなどを使用して、スピードのために取り組んできたWebサイトの最適化を開始しています.
私はクロム開発者ツール(ネットワークタブ)を使用して、読み込み時間の見積もりを取得し、エラーを見つけました。ここで、2 つの画像ファイル ajax-loader.gif と black.png で 2 つの 404 not found エラーが発生していることに気付きました。
Google で簡単に検索したところ、標準の風車ローダーのさまざまなバージョンを含む "ajax-loader.gif" ジェネレーターが見つかりました。私はそれを生成してファイルに含めましたが、今は問題なくロードされます。しかし、この gif を初期化するのは何ですか? 私のjqueryのロードはどれも、それを必要とするほど遅くはありません。では、この画像は実際にどのように読み込まれるのでしょうか、それともいつ表示されるのでしょうか? jqueryはそれ自体を開始しますか?
さらに、black.png があります。このファイルに関する関連資料は見つかりません。jaquery.min.js が開始していることは明らかです。jquery ライブラリへの Google の API リンクを使用しています。black.png は何をしますか?
これがスクリーンショットです...
そこにも ajaxloader.gif があり、生成してアップロードした後、動作するようになりました。私がそうする前は、それが存在しなかったため明らかにblack.pngのように404になり、同様の220ミリ秒のレイテンシーがかかりました.
要約すると、これらは何をし、いつ表示され、実際には black.png とは何ですか?
asp.net-mvc-4 - 追加の属性を持つScriptBundle
および_Layout.cshtml
にレンダリングされます(with EnableOptimizations = false
):
しかし、属性を追加したい
どうすればそれができますか?
asp.net - WebForms でバンドルを使用すると、デバッグ モードでも縮小/結合されたファイルが出力されます
一緒に結合/縮小したいさまざまなスクリプト ファイルのバンドルを作成しました。コード ビハインド ファイル (はい、申し訳ありませんが VB です!) に追加し<asp:placeholder />
ます<head>
。
これは機能しますがdebug="true"
、Web.Config にある場合でも、常に圧縮された縮小版が出力されるようです。
何があっても、これが出力されます。<script src="/bundles/main"></script>
デバッグ モードでこの出力を個別の非圧縮ファイルにするには、どうすればよいですか?
編集
BundleTable.EnableOptimizations = false
オプションを手動で設定しようとしても、単一の縮小されたスクリプトタグが出力されます。私はアイデアがありません。
最終編集
私はいくつかの関連コードで非常にばかげたことをしていましたが、技術的にはバンドルのすべてが問題なく、正しく機能していました。問題は解決しました!