[英]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文件及其工作原理; 他们服务于此目的。
但是,我也发现在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实现可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.