¿Cómo puedo crear una biblioteca de Javascript en un archivo separado y “incluir” en otro?

StackOverflow https://stackoverflow.com/questions/928237

Pregunta

En primer lugar, una advertencia. El script principal es se ejecuta en una página web . Me va a correr el archivo .js en Windows utilizando Windows Script Host.

El problema: Me gustaría crear una "biblioteca" javascript que contiene una serie de objetos, cada uno con un número de funciones. Espero que esta biblioteca obtendrá más bien grande con el tiempo y me gustaría guardarlo en un archivo JavaScript independiente (llamémoslo Library.js ). Me gustaría tener acceso a los objetos de Library.js desde otro script (Llamemos a éste user.js ).

En esencia, yo estoy buscando algo similar a la C / C ++ "incluir" paradigma.

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

¿Fue útil?

Solución

Esta página aquí es el más cercano Lo podría encontrar. Habla de archivos .wsf cuales le permiten combinar varias secuencias de comandos (que se puede escribir en diferentes idiomas) en un solo archivo.

En su pregunta debería ser algo como:

user.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.

Otros consejos

Sé que esto es una cuestión de edad y ha sido contestada y aceptado.

Yo sé acerca de los archivos .wsf y cómo funcionan; sirven al propósito.

Sin embargo, también he encontrado a la mano para hacer la "inclusión" de dentro de un archivo .js pura 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, no puedo hacer esto desde dentro de un módulo javascript:

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

... y luego puedo invocar a cualquiera de las funciones o cosquillas a cualquiera de las variables definidas en dichos módulos.

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

Puede lograr su objetivo mediante el uso de Windows Scripting Host en lugar de un archivo .js o .vbs específica. Más información se puede encontrar en el sitio de MSDN .

Desde el enlace:

  

script de Windows (* .wsf) archivo es un texto   documento que contiene de marcado extensible   Language (XML) de código. incorpora   varias características que le ofrecen   aumento de la flexibilidad de secuencias de comandos.   Dado que los archivos de secuencia de comandos de Windows no son   Específica del motor, que pueden contener   script desde cualquier secuencia de comandos de Windows   motor de scripting compatibles. Ellos actúan   como un contenedor.

Cal haría archivo lthe utilizando la misma sintaxis que un archivo .js y .vbs:

  

wscript.exe myScriptFile.wsf

ACTUALIZADO: corrección señaló ...

Tal vez esto podría ayudar a phpjs aplicación.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top