JavaScript ライブラリを別のファイルに作成し、それを別のファイルに「含める」にはどうすればよいですか?
-
06-09-2019 - |
質問
まず、注意事項です。メインのスクリプトは、 Webページでは実行されません. 。Windows Script Host を使用して Windows で .js ファイルを実行します。
問題:それぞれが多数の機能を持つ多数のオブジェクトを含む JavaScript の「ライブラリ」を作成したいと考えています。このライブラリは時間の経過とともにかなり大きくなることが予想されるので、別の JavaScript ファイルに保存したいと思います (これを JavaScript ファイルと呼びます) ライブラリ.js)。からオブジェクトにアクセスしたいのですが、 ライブラリ.js 別のスクリプトから (これをスクリプトと呼びます) ユーザー.js).
本質的に、私は C/C++ の「インクルード」パラダイムに似たものを探しています。
とにかくこれをJavaScriptで実装することはできますか?(これは Web ベースではないことに注意してください)
解決
このページはここにあります 私が見つけた中で最も近いものです。複数のスクリプト (異なる言語で記述されたもの) を 1 つのファイルに結合できる .wsf ファイルについて説明します。
あなたの質問の場合、次のようになります。
ユーザー.wsf
<job id="IncludeExample">
<script language="JScript" src="library.js"/>
<script language="JScript">
<![CDATA[
// use your library functions here
]]>
</script>
</job>
もっと良い方法があるかもしれませんが、私は WSH の専門家ではありません。
他のヒント
私は、これは古い質問ですけど、それが答えて受け入れられています。
私は.WSFファイルについて知っていると、彼らはどのように働きますか。彼らは目的を果たします。
しかし、私はまた、便利なWSHで実行純粋な.jsファイルの中から「インクルージョン」を行うことを発見しました。ここではそのための私のソリューションです。
function includeFile (filename) {
var fso = new ActiveXObject ("Scripting.FileSystemObject");
var fileStream = fso.openTextFile (filename);
var fileData = fileStream.readAll();
fileStream.Close();
eval(fileData);
}
定義されているユーティリティ関数を使用すると、私はjavascriptのモジュール内からこれを行うことができます:
includeFile("externalFile1.js");
includeFile("externalFile2.js");
includeFile("etc.js");
...そして私は、関数のいずれかを呼び出すか、それらのモジュールで定義された変数のいずれかをくすぐることができます。
同様の技術は.VBSファイルで動作します。
どのように行います私は(C用の#includeに似ている)のVBScriptでの一般的なファイルが含まれていますか?の
あなたは代わりに、特定の.jsまたはファイル.vbsのWindowsスクリプティングホストを使用して、あなたの目標を達成することができます。詳細については、 MSDNサイトで見つけることができますするます。
のリンクから:
Windowsのスクリプト(* .wsf)ファイルのテキストです 拡張マークアップを含むドキュメント 言語(XML)コード。これは、組み込まれて あなたを提供するいくつかの機能 スクリプトの柔軟性を増加させました。 Windowsのスクリプトファイルではありませんので エンジン固有の、彼らは含めることができます 任意のWindowsスクリプトからスクリプト 互換性のあるスクリプトエンジン。彼らは行動します コンテナとしてます。
あなたは.jsファイルとファイル.vbsと同じ構文を使用してltheファイルをCALなります:
wscript.exeとmyScriptFile.wsf
更新日:補正が指摘...
多分これは実装が助けることができるphpjsます。