Search
    Preparing search index...

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

    Внешний модуль - файл пользователя, который подключается к приложению в целях кастомизации системы. Настройка подключения происходит через параметр 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-ee/sdk';

      const {Platform, Vendor} = Universe;

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

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

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