Как создать библиотеку javascript в отдельном файле и "включить" ее в другой?

во-первых, один нюанс. Основной скрипт Не запускается на веб-странице. Я буду управлять .JS файл в Windows с помощью сервера сценариев Windows.

проблема: Я хотел бы создать "библиотеку" javascript, содержащую ряд объектов, каждый из которых имеет ряд функций. Я ожидаю, что эта библиотека со временем станет довольно большой и хотела бы сохранить ее в отдельном файле javascript (назовем его библиотека.js). Я хотел бы получить доступ к объекты из библиотека.js из другого скрипта (назовем этот пользователей.js).

по сути, я ищу что-то похожее на парадигму C/C++ "include".

есть ли в любом случае реализовать это в javascript? (Помните, что это не веб -)

4 ответов


эта страница прямо здесь - это самое близкое, что я смог найти. О нем говорят .WSF файлы, которые позволяют объединить несколько сценариев (которые могут быть написаны на разных языках) в одном файле.

для вашего вопроса это должно быть что-то вроде:

пользователей.wsf

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

могут быть лучшие способы, но я не эксперт WSH.


Я знаю, что это старый вопрос, и на него ответили и приняли.

Я знаю .WSF-файлов и как они работают; Они служат цели.

однако я также нашел удобным сделать " включение "из чистого.JS-файл, который работает в WSH. Вот мое решение.

    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, вместо определенного .js or .файл vbs. Более подробную информацию можно найти в сайт MSDN.

из ссылки:

сценарий Windows (*.wsf) файл представляет собой текст документ, содержащий расширяемый разметки Код языка разметки (XML). Она включает несколько функций, которые предлагают вам повышенная гибкость сценариев. Поскольку файлы сценариев Windows не двигатель-специфический, они могут содержать скрипт из любого скрипта Windows совместимый обработчик сценариев. Они действуют как контейнер.

вы бы назвали файл, используя тот же синтаксис, что и a .js and .файл vbs:

wscript.exe myScriptFile.wsf

обновлено: исправление отмечено...


возможно, эта реализация phpjs может помочь.

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