ページ内にすべてのクライアント スクリプトを記述する代わりに、スクリプト コードを格納した外部ファイルを参照できます。これによって、ページ間でのコードの再利用が容易になり、ブラウザでクライアント スクリプトをキャッシュできるようになります。
references ディレクティブを使用すると、現在編集中のスクリプトとその他のスクリプトとの間の関係を Visual Studio で確立できます。references ディレクティブにより、現在のスクリプト ファイル内のスクリプトのコンテキストにスクリプト ファイルを含めることができます。これにより、コードの入力時に、外部で定義されている関数、型、およびフィールドを IntelliSense で参照できます。
references ディレクティブは、XML コメントの形式で作成します。このディレクティブは、ファイル内で他のいずれのスクリプトよりも前に定義する必要があります。reference ディレクティブには、ディスク ベースのスクリプト参照、アセンブリ ベースのスクリプト参照、サービス ベースのスクリプト参照、またはページ ベースのスクリプト参照を含めることができます。
ディスク ベースの参照ディレクティブを使用する例を次に示します。
/// <reference path="ScriptFile1.js" />
/// <reference path="Scripts/ScriptFile2.js" />
/// <reference path="../ScriptFile3.js" />
/// <reference path="~/Scripts/ScriptFile4.js" />
アセンブリ ベースのスクリプトへの参照を作成する方法の例を次に示します。
/// <reference name "Ajax.js" assembly="System.Web.Extensions, ..." />
サービス ベースのスクリプトへの参照方法の例を次に示します。
/// <reference path="MyService.asmx" />
/// <reference path="Services/MyService.asmx" />
/// <reference path="../MyService.asmx" />
/// <reference path="~/Services/MyService.asmx" />
メモ : |
|---|
JScript IntelliSense は、Web アプリケーション プロジェクト (WAP: Web Application Project) の Web サービス ファイル (.asmx) 内に格納されたスクリプトではサポートされません。 |
ページ ベースのスクリプトへの参照方法の例を次に示します。
/// <reference path="Default.aspx" />
/// <reference path="Admin/Default.aspx" />
/// <reference path="../Default.aspx" />
/// <reference path="~/Admin/Default.aspx" />
reference ディレクティブには、次の規則が適用されます。
reference XML コメントは、他のいずれのスクリプトよりも前に定義する必要があります。
XML コメントの構文を 3 つのスラッシュと共に使用する必要があります。標準のコメントの構文 (2 つのスラッシュ) を使用して作成された参照は無視されます。
ディレクティブごとに、1 つのファイルまたは 1 つのリソースだけを指定できます。
ページ ベースのスクリプトへの複数の参照は指定できません。
ページ参照を指定する場合、これ以外の種類の参照ディレクティブは指定できません。
ファイル名には相対パスを使用します。ティルダ演算子 (~) を使用すると、アプリケーション ルートに対する相対パスを指定できます。
絶対パスは無視されます。
現在のプロジェクトの外部にあるファイルへの参照は無視されます。
参照されるページにある参照ディレクティブは処理されません。つまり、参照ディレクティブは、ページに対して再帰的には解決されません。ページによって直接参照されるスクリプトだけが含まれます。