簡體   English   中英

如何在單獨的文件中創建一個javascript庫並將其“包含”在另一個文件中?

[英]How can I create a javascript library in a separate file and “include” it in another?

首先,一個警告。 主腳本不在網頁中運行 我將使用Windows腳本宿主在Windows中運行.js文件。

問題:我想創建一個包含許多對象的javascript“庫”,每個對象都有許多功能。 我希望這個庫會隨着時間的推移變得相當大,並希望將它保存在一個單獨的javascript文件中(我們稱之為Library.js )。 我想從另一個腳本訪問Library.js中的對象(讓我們稱之為User.js )。

本質上,我正在尋找類似於C / C ++“包含”范例的東西。

反正有沒有在javascript中實現這個? (請記住,這不是基於網絡的)

這頁面就是我能找到的最近的頁面 它討論了.wsf文件,它允許您將多個腳本(可以用不同語言編寫)組合在一個文件中。

對於你的問題,它應該是這樣的:

user.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文件:
如何在VBScript中包含公共文件(類似於C #include)?

您可以使用Windows Scripting Host而不是特定的.js或.vbs文件來實現目標。 可以在MSDN站點上找到更多信息。

從鏈接:

Windows腳本(* .wsf)文件是包含可擴展標記語言(XML)代碼的文本文檔。 它結合了多種功能,為您提供更高的腳本編寫靈活性。 由於Windows腳本文件不是特定於引擎的,因此它們可以包含來自任何Windows腳本兼容腳本引擎的腳本。 它們充當容器。

您可以使用與.js和.vbs文件相同的語法來編寫文件:

wscript.exe myScriptFile.wsf

更新:更正指出......

也許這個phpjs實現可以幫助。

http://phpjs.org/functions/include:433

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM