1

作業中のいくつかのWebサイトでパフォーマンス分析を行っていますが、大きな問題はインラインスクリプトであることに気づいています。外部スクリプトについては、JavaScriptを1つのファイルに結合、縮小、gzip圧縮するhttpハンドラーを作成しました。これは、ファイル名をハッシュすることによって後で再利用するために保存されます。

私が疑問に思っているのは(これが良いアイデアかどうかはわかりませんが、フィードバックを得るために投稿しています)、スクリプトテキストを含むすべてのスクリプト要素を削除して1つのファイルにまとめるかどうかです。次に、外部スクリプトに使用しているのと同じプロセスを使用して、それらを1つのスクリプトに結合します。

ジョン

4

2 に答える 2

1

インラインスクリプトは常にページ内に入るので、すべての投稿をトラバースするか、サーバーとの間でやり取りする必要があります。MVCを使用しているので、レンダリングされたhtmlをかなり制御できるため、プロジェクトに目立たないスクリプトファイルのみを含めるのは非常に簡単です。

また、 SquishItもチェックしてください。

Grz、Kris。

于 2010-06-19T15:54:15.537 に答える
0

インラインJavaScriptを縮小して、外部ファイルにバンドルすることができます。

ここで述べたように、ASP.netのビルド中にインラインJavaScriptを縮小しますか?

テンプレート化されたRazorヘルパーを使用すると、次のような拡張メソッドを作成できます。

public static MvcHtmlString AddScriptSource(this HtmlHelper helper, Func<dynamic, HelperResult> source, string key)
{
    string scriptSource = source(null).ToHtmlString();

    // Cache scriptSource here

    return MvcHtmlString.Empty;
}

このように使用します:

@Html.AddScriptSource(@<text>$(document).ready(function() { $('h1').text('The current controller is @ViewContext.RouteData.Values["controller"].ToString()'); });</text>, "test")
于 2012-12-03T17:27:13.423 に答える