Доброго времени суток, уважаемый Хабражитель.
Предлагаю вашему вниманию пост-месть под названием JScriptInclude Механизм Gear для каскадного импорта скриптов/библиотек.
Предыдущий пост представляет JScriptInclude Gear на данный момент самозабвенно убрано в черновики, сейчас оно вообще не актуально, несмотря на то, что предыдущая презентация была воспринята хабра-джаваскриптерами довольно резко, но повод для этого все же был :), много позора было вызвано непониманием сути, а именно того, что JScript(WSH) != JavaScript(браузеры) , в связи с чем JScriptInclude Gear возведен в ранг костылей, велосипедов, «уже было», «инахренаже» и т. д. Тогда мне очень хотелось поделиться своим решением, но я понятия не имел, как сделать его «вкусным» и понятным, но думаю, что теперь мне это удалось.
Тем не менее, кейс «Подслащенного» набрал обороты, люди пишут, люди им пользуются, людям это нравится.
За прошедшую неделю я получил довольно много отзывов, которые подтолкнули меня к работе над своим решением, и в итоге оно изменилось до неузнаваемости.
Спасибо всем, кто вместе со мной встал на линию огня.
Для тех, кто не знает, о чем мы говорим, вот небольшое заманчивое предисловие: JScriptInclude Gear — механизм каскадного импорта скриптов/библиотек, предназначенных для использования в скриптах автоматизации, написанных на языке JScript интерпретируется технологией WSH (хост сценариев Windows) окружен семейством операционных систем Окна .
Дополнительно предоставление функционала по организации скриптов в виде базовых модулей, поддержка их определения в конфигурационных файлах и последующий их вызов по алиасам и тд и тп :) Те, кто уже прочитал о JScriptInclude Gear в предыдущем посте, несмотря, возможно, на оставшийся негатив, я откланялся и попросил остаться, уверяю вас, что здесь будет что-то интересное, потому что изменилось практически все: механизм теперь экспортирован COM-компонент и подключается к вашему скрипту с помощью двух строк кода, подготовленных Пакет SFX для установки механизма в систему с автоматической регистрацией компонентов и автоматической настройкой необходимых путей, документация переделана «от начала до конца» и теперь представлена в виде HTML, пример теперь запускается без «танцев с бубном» , и в качестве приятного бонуса содержит несколько полезных модулей, которые описаны в документации (они ведь являются примером использования и «не притворяются»), и естественно сам код «отшлифован», хотя в процессе использования вы сейчас с этим фактически не столкнетесь.
Для тех, у кого зуд, добро пожаловать GitHub : Механизм JScriptInclude Gear Установочный пакет SFX. (независим до безобразия :) ) Механизм JScriptInclude Gear сортируется как есть.
(О развертывании в дополнительных комментариях к последнему коммиту, или в разделе help объект jsImport вставьте «Внимание!!!») И все же мне бы хотелось, чтобы вы прочитали оставшиеся «многие книги», хотя бы по существу.
Особенности JScriptInclude Gear : Кому интересно, добро пожаловать под взлом.
Цель JScriptInclude Gear:
В первую очередь восполним отсутствие в технологии возможности подключения скриптов/библиотек как таковых.Технологии Сценарии Windows предлагает частично решить эту проблему путем обертывания кода в формат XML конкретного файла.
WSF (файл сценария Windows) , но его использование не позволяет обеспечить " каскад соединений «В связи с этим обстоятельством невозможно сформировать структуру библиотек со своими зависимостями.
В данном решении предлагается преодолеть эту проблему, обеспечив каскадный импорт. Каскадный импорт , это возможность, заслуживающая особого внимания — ее принцип был позаимствован автором из технологии Node.JS. В этой модели много файлов JavaScript -коды образуют гибкую и лаконичную структуру модулей и их зависимостей друг от друга.
В Node.JS такой механизм обеспечивается ядром технологии, а также обеспечивает контроль, в случае JScriptInclude Gear - механизм естественно является имитацией и реализован с помощью языка JScript и некоторые сопутствующие технологии.
Реализация JScriptInclude Gear:
По сравнению с первыми изданиями JScriptInclude Gear предложение пользователю разместить код механизма в начале целевого скрипта, а это не менее 110 строк кода; в данном издании автор преодолел это неудобство с помощью технологии Компоненты сценариев Windows , что позволяет специальным образом, описанным в XML -форматировать, регистрировать скрипты как COM-компоненты .Таким образом, автор подготовил компонент JScriptInclude.wsc , основная цель которого — экспорт исходного кода механизма.
Автор учел неудобство, связанное с необходимостью некоторой ручной настройки путей, и преодолел это обстоятельство, подготовив специальный Пакет SFX , который помимо предоставления необходимых файлов еще и регистрирует в системе вышеупомянутый компонент как " JScriptIncludeGear ", и вызывает на выполнение скрипт, предназначенный для автоматической установки необходимых текущих путей в исходные коды механизма.
По поводу обязательного использования безбожников оценка() для инициализации импортированного кода, а теперь и для инициализации кода самого механизма в глобальном стеке, то эта проблема непреодолима, потому что V ВСХ нет способа выполнить код в контексте глобального объекта, кроме как вызвать его через оценка() из основного стека исполняемого скрипта.
ПС: Позвольте мне еще раз напомнить вам, что JScript(WSH) != JavaScript(в браузерах) несмотря на то, что оба являются реализациями стандарта ЭКМА 262 , они существуют в совершенно разных средах.
В ВСХ Нет окно , здесь нет ДОМ и подобные им теги сценарий , И так далее и тому подобное.
После успешной установки в любом из ваших JScript скриптов в целевой системе можно подключить механизм каскадного импорта JScriptInclude Gear , а также получить доступ к системе ее основных модулей следующим образом:
Теги: #jscript #wsh #JavaScript #системное администрирование Windows #JavaScriptjsIncludeGear = new ActiveXObject("JScriptIncludeGear");
-
Сравнение Планов Базы Данных Списков Ячеек
19 Oct, 24 -
Точечная Сварка Под Микроскопом
19 Oct, 24 -
Фоновый Режим В Google Chrome
19 Oct, 24 -
Дискриминация По Полу?
19 Oct, 24 -
Appleinsider #06
19 Oct, 24