Как сослаться на файл JScript от другого?

Я пишу некоторые сценарии серверной стороны с помощью JScript и WSH. Сценарии становятся довольно длинными, и некоторые общие функции, и переменные подошли бы лучше к общему сценарию библиотеки, который я включал в свои различные экземпляры сценария.

Но, я не могу найти, что путь ссылается на один файл JScript от другого. На мгновение, я, хотя читая содержание файла и передавая его eval() мог работать. Но, поскольку это говорит относительно MSDN:

Обратите внимание, что новые переменные или типы, определенные в операторе оценки, не видимы к программе включения.

Там какой-либо путь состоит в том, чтобы включать/ссылаться файл JScript от другого?

11
задан Helen 23 October 2010 в 11:59
поделиться

2 ответа

Попробуйте использовать файл сценария Windows . По сути, это XML-документ, который, помимо прочего, позволяет вам включать несколько файлов сценариев и определять несколько заданий.

<!-- MyJob.wsf -->
<job id="IncludeExample">
  <script language="JScript" src="MyLib1.js"/>
  <script language="JScript" src="MyLib2.js"/>
  <script language="JScript">
    WScript.Echo(myLib1.foo());
    WScript.Echo(myLib2.bar());
  </script>
</job>
10
ответ дан 3 December 2019 в 03:34
поделиться

Хорошо, я нашел достойное решение:

// A object to which library functions can be attached
var library = new Object;
eval((new ActiveXObject("Scripting.FileSystemObject")).OpenTextFile("common_script_logic.js", 1).ReadAll());

// Test use of the library
library.die("Testing library");

Я создаю объект, к которому могу прикрепить свои библиотечные функции. Таким образом, я могу обращаться к коду, определенному в моей библиотеке, из вызывающего скрипта. Не идеально, но вполне приемлемо.

Было бы здорово увидеть более правильное решение :-)

8
ответ дан 3 December 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: