Comment puis-je créer une librairie javascript dans un fichier séparé et « inclure » dans un autre?

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

Question

D'abord, une mise en garde. Le script principal est pas exécuté dans une page Web . Je vais courir le fichier .js dans Windows en utilisant Windows Script Host.

Le problème: Je voudrais créer un javascript « bibliothèque » contenant un certain nombre d'objets, chacun avec un certain nombre de fonctions. Je pense cette bibliothèque sera obtenir assez grande avec le temps et je voudrais le garder dans un fichier javascript séparé (appelons- Library.js ). Je voudrais accéder aux objets de Library.js à partir d'un autre script (Appelons cette une user.js ).

En substance, je suis à la recherche de quelque chose de similaire à C / C ++ paradigme "comprennent".

Y at-il de toute façon de mettre en œuvre ce en javascript? (Rappelez-vous, ce n'est pas basé sur le Web)

Était-ce utile?

La solution

Cette page ici est le plus proche Je pourrais trouver. Il parle de fichiers .wsf qui vous permettent de combiner plusieurs scripts (qui peuvent être écrites dans des langues différentes) dans un seul fichier.

Pour votre question, il devrait être quelque chose comme:

user.wsf

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

Il peut y avoir de meilleures façons, mais je ne suis pas un expert en WSH.

Autres conseils

Je sais que c'est une question ancienne et il a été répondu et accepté.

Je sais que sur les fichiers .wsf et comment ils fonctionnent; ils servent.

Cependant, je l'ai aussi trouvé à portée de main pour faire le « inclusion » à partir d'un fichier .js pur qui fonctionne dans WSH. Voici ma solution pour cela.

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

Avec cette fonction d'utilité définie, je peux le faire à partir d'un module javascript:

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

... et je peux appeler l'une des fonctions ou chatouiller l'une des variables définies dans les modules.

Une technique similaire fonctionne avec les fichiers .vbs:
Comment J'inclure un fichier commun dans VBScript (similaire à C #include)

Vous pouvez atteindre votre objectif en utilisant le Windows Scripting Host au lieu d'un fichier .js ou .vbs spécifique. Plus d'informations peuvent être trouvées à l'adresse le site MSDN .

À partir du lien:

  

fichier script (* .wsf) Windows est un texte   document contenant Extensible Markup   Code de la langue (XML). il intègre   plusieurs fonctionnalités qui vous offrent   une plus grande souplesse de script.   Parce que les fichiers de script Windows ne sont pas   spécifiques à moteur, ils peuvent contenir   script à partir de Windows Script tout   moteur de script compatible. Ils agissent   en tant que conteneur.

Vous serait cal fichier lthe en utilisant la même syntaxe que un fichier .js et .vbs:

  

wscript.exe myScriptFile.wsf

MISE À JOUR: correction noté ...

Peut-être que cette phpjs mise en œuvre pourrait aider.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top