javascript include wsh windows-scripting

¿Cómo puedo crear una biblioteca javascript en un archivo separado e “incluirla” en otro?



include wsh (4)

Puede lograr su objetivo utilizando Windows Scripting Host en lugar de un archivo .js o .vbs específico. Puede encontrar más información en el sitio de MSDN .

Desde el enlace:

El archivo de script de Windows (* .wsf) es un documento de texto que contiene código de lenguaje de marcado extensible (XML). Incorpora varias características que le ofrecen una mayor flexibilidad de scripting. Debido a que los archivos de script de Windows no son específicos del motor, pueden contener scripts de cualquier motor de scripting compatible con Windows Script. Actúan como un contenedor.

Puede llamar al archivo utilizando la misma sintaxis que un archivo .js y .vbs:

wscript.exe myScriptFile.wsf

ACTUALIZADO: Corrección notada ...

Primero, una advertencia. El script principal no se ejecuta en una página web . Ejecutaré el archivo .js en Windows usando Windows Script Host.

El problema: me gustaría crear una "biblioteca" javascript que contenga una serie de objetos, cada uno con una serie de funciones. Espero que esta biblioteca se haga más grande con el tiempo y me gustaría guardarlo en un archivo javascript separado (llamémoslo Library.js ). Me gustaría acceder a los objetos desde Library.js desde otra secuencia de comandos (llamemos a este User.js ).

En esencia, estoy buscando algo similar al paradigma "include" de C / C ++.

¿Hay alguna forma de implementar esto en javascript? (Recuerde, esto no está basado en la web)


Sé que esta es una pregunta antigua y ha sido respondida y aceptada.

Sé sobre los archivos .WSF y cómo funcionan; sirven al propósito

Sin embargo, también me ha resultado útil hacer la "inclusión" desde un archivo .js puro que se ejecuta en WSH. Aquí está mi solución para eso.

function includeFile (filename) { var fso = new ActiveXObject ("Scripting.FileSystemObject"); var fileStream = fso.openTextFile (filename); var fileData = fileStream.readAll(); fileStream.Close(); eval(fileData); }

Con esa función de utilidad definida, puedo hacer esto desde un módulo javascript:

includeFile("externalFile1.js"); includeFile("externalFile2.js"); includeFile("etc.js");

... y luego puedo invocar cualquiera de las funciones o marcar cualquiera de las variables definidas en esos módulos.

Una técnica similar funciona con archivos .vbs:
¿Cómo incluyo un archivo común en VBScript (similar a C #include)?



Esta página aquí es la más cercana que pude encontrar. Habla de archivos .wsf que le permiten combinar varios scripts (que pueden estar escritos en diferentes idiomas) en un solo archivo.

Para tu pregunta debería ser algo como:

usuario.wsf

<job id="IncludeExample"> <script language="JScript" src="library.js"/> <script language="JScript"> <![CDATA[ // use your library functions here ]]> </script> </job>

Puede haber mejores maneras, pero no soy un experto en WSH.