Создание и публикация клиентского расширения
Клиентское расширение разрабатывается на языке TypeScript с последующей компиляцией в JavaScript.
-
Скопируйте к себе в рабочую папку каталог
ProjectTemplates\TemplateWebExtension\
из репозитория WebClient-Samples. -
Настройте проект:
-
Переименуйте папку
TemplateWebExtension
— укажите название расширения (например, "MyWebExtension"). -
В файле
MyWebExtension/copy-path.js
измените значения:-
SITE_ROOT
— укажите относительный путь к папке, в которую будут выгружены файлы, полученные при сборке. -
EXTENSION_NAME
— укажите название расширения (в данном примере — "MyWebExtension").
-
-
Откройте папку
MyWebExtension
в командной строке и выполните команду:npm install
. -
Создайте в папке
MyWebExtension/src
файлts/tsx
с кодом расширения.Примеры клиентских расширений приведены в следующих пунктах раздела, а также в репозитории "ДоксВижн". -
Измените содержимое файла
src/Index.ts
. В файле должна выполняться регистрация расширения с учетом реализованных в нем функций:
extensionManager.registerExtension({
name: "My web Extension",
version: "1.0",
getLocalizations: ... , (1)
controls: ... , (2)
globalEventHandlers: ... , (3)
globalServices: ... , (4)
layoutServices: … (5)
})
1 | Расширение добавляет локализованные ресурсы. |
2 | Расширение добавляет элементы управления. |
3 | Расширение добавляет обработчики событий. |
4 | Расширение добавляет публичные сервисы. |
5 | Расширение добавляет публичные сервисы, имеющие особое поведение в рамках каждой конкретной разметки. |
Описание изменений, которые необходимо выполнить в файле Index.ts
, приведено в описании примеров расширений, добавляющих обработчики событий, локализованные ресурсы и клиентские компоненты элементов управления.
-
Откройте папку
MyWebExtension
в командной строке и выполните команду:npm run build
. -
Скопируйте папку
%SITE_ROOT%\Content/Modules/MyWebExtension
в/lib/docsvision/webclient/Content/Modules
. -
После завершения отладки клиентского расширения может быть собрана "релизная версия". Для этого, находясь в командной строке в папке MyWebExtension, выполните команду:
npm run build:prod
.