Юниверс DG SDK UI
v2.15.0

Внешние модули

Внешний модуль - файл пользователя, который подключается к приложению в целях кастомизации системы. Настройка подключения происходит через параметр EXTERNAL_MODULES в конфигурационном файле:

{
"EXTERNAL_MODULES": [
"./CUX/custom.js",
"./CUX/custom.css"
]
}

Для сборки внешнего модуля можно использовать любой сборщик. Однако, при настройке сборщика необходимо учитывать следующие особенности окружения:

  • SDK предоставляет доступ к встроенной в приложение библиотеке React и библиотеке React-компонентов. Это означает, что преобразование JSX в JS должно быть настроено со ссылкой на фабрику элементов:
    window.Universe.Vendor.React.createElement(Component, {});
    
  • Для возможностей реактивности внутри приложения используется библиотека mobx, и "старые" декораторы. Использование устаревших декораторов нужно явно указать при настройке транспайла.

Внешние модули подключаются на этапе инициализации приложения, до основной отрисовки:

Диаграмма подключения внешних модулей

Внешние модули могут быть следующих видов:

  • CSS-модуль.
  • JavaScript-модуль.

Подключается как динамический импорт. Это означает, что файл должен являться валидным ES-модулем. Порядок подключения не гарантируется.

Изнутри файла, взаимодействие с SDK API приложения возможно:

  1. Через глобальную переменную window.Universe:

    const {Platform, Vendor} = window.Universe;

    const element = Vendor.React.createElement(Platform.Uikit.Button, {}, 'Click me!');
  2. Через подключение SDK-пакета приложения:

    import {Universe} from '@universe-dg/sdk';

    const {Platform, Vendor} = Universe;

    const element = Vendor.React.createElement(Platform.Uikit.Button, {}, 'Click me!');

Аналогично использованию window.Universe. Что бы использовать данный вариант, необходимо обратится к разделу Сборка внешних модулей

Подключается как тэг <link> в <head> html-документа приложения. Порядок подключения не гарантируется.