Статьи

Открытый репозиторий приносит модульность в JavaScript

Это первые дни, но группа Perl-хакеров объединилась, чтобы сформировать JSAN , сеть архивов JavaScript. Подобно почтенному Perl-эквиваленту, CPAN и другим сайтам, которые заимствовали вдохновение (например, PEAR для PHP), JSAN стремится стать открытым репозиторием для сценариев JavaScript, которые разработаны модульно, чтобы иметь управляемые зависимости, способствующие повторному использованию кода.

С практической точки зрения это означает, что вы можете выбрать конкретный модуль, который обеспечивает функциональность, которую вы хотели бы видеть на своем сайте, и система JSAN автоматически загрузит и установит не только файлы для этого модуля, но и файлы любых модулей после от которого зависит этот модуль. С файлами, установленными в структуре каталогов вашего сайта, вы можете использовать функциональность, предоставляемую ими в ваших собственных скриптах.

Поскольку JSAN был задуман Perl-хакерами, автоматизированная система загрузки и установки модулей JSAN естественно написана на Perl. Если вы разработчик, работающий над Windows, я сочувствую тому стону, который вы только что выпустили. Если и есть какое-то утешение, в работе есть гул «альтернативного клиента JSAN», поэтому пальцы скрещены. Тем временем вам нужно установить Perl и ознакомиться с командной строкой вашей операционной системы, прежде чем вы сможете установить и использовать JSAN.

На данном этапе документация еще не существовала, однако любой, кто знаком с CPAN или PEAR и хорошо разбирается в JavaScript, должен иметь возможность разобраться в этом на основе только что существующего руководства по установке . Документация по использованию отдельных модулей после их установки предоставляется в самих файлах сценария в стандартном формате, используемом в CPAN.

Помимо отслеживания зависимостей и автоматической установки скриптов, JSAN накладывает очень мало ограничений на то, как должны быть написаны скрипты. Фактически автономные модули можно легко получить, перейдя к соответствующему файлу сценария на сайте и загрузив его напрямую — клиент Perl не требуется. Однако исходная библиотека модулей явно поддерживает ненавязчивые сценарии с классами JavaScript, используемыми в качестве пространств имен, как представлено в DHTML Utopia .

Если вы используете официальный клиент, вы получите выгоду от стандартизированной структуры каталогов, которая позволит вам использовать встроенный механизм импорта JSAN для скриптов. Уловка, которую я впервые увидел в библиотеке jsolait для XML-RPC , заключается в том, что система позволяет сценарию загружать другой сценарий, который требуется на лету, вместо того, чтобы требовать от веб-разработчика загрузки этого сценария с отдельным