ApeekFlow
  • Платформа Apeekflow
  • С чего начать
    • Начало работы
    • Создаем первое приложение
    • Шаблоны проектов
  • Настройки платформы
    • Профиль
    • Библиотека запросов
    • Источники данных
      • Базы данных
        • PostgreSQL
        • MongoDB
        • MySQL
        • Redis
        • Microsoft SQL Server
        • MariaDB
      • AI сервисы
      • App Development
        • REST API
        • ApeekFlow REST API
      • Messaging
      • Assets
        • Хранилище файлов S3
      • Websocket
      • Сервисы
        • Google Sheets
    • Настройки
      • Рабочие пространства
      • Пользователи и группы
      • Расширенные настройки
        • Сторонние библиотеки
        • Импорт UMD библиотек
    • Корзина
  • Конструктор приложений
    • Обзор
      • Приложения
      • Модули
      • Приложение или модуль
      • Навигационная панель
      • Массовое редактирование
      • Управление слоями
      • Использвание Markdown
      • Горячие клавиши
    • Каталог компонентов
      • Общие настройки компонентов
      • Тост нотификации
      • Components
        • Table
        • Cascader
        • Link
        • Float Button
        • Form
        • JSON Schema Form
        • JSON Editor
        • JSON Explorer
        • Rich Text Editor
        • Input
        • Password
        • Number Input
        • Text Area
        • Auto Complete
        • Switch
        • Checkbox
        • Radio
        • Slider
        • Range Slider
        • Form Button
        • Icon Button
        • Dropdown
        • Toggle Button
        • Rating
        • Select
        • Multiselect
        • Tree
        • Tree Select
        • Text Display
      • Calendar
        • Calendar
        • Timer
        • Date
        • Date Range
        • Time
        • Time Range
      • Layout
        • Responsive Layout
        • Page Layout
        • Column Layout
        • Float Text Container
        • Content Card
        • Tabbed Container
        • Collapsible Container
        • Container
        • List View
        • Grid
        • Modal
        • Drawer
        • Divider
        • Navigation
        • Segmented Control
        • Tour
      • Multimedia
        • File Upload
        • File Viewer
        • Image
        • Image Carousel
        • Audio
        • Video
        • Shapes
        • Lottie Animation
        • Icons
        • Image Editor
        • Color Picker
        • QR Code
        • Scanner
      • Graphs
        • Basic Chart
        • Candlestick Chart
        • Funnel Chart
        • Gauge Chart
        • Graph Chart
        • Heatmap Chart
        • Radar Chart
        • Sankey Chart
        • Sunburst Chart
        • Theme River Chart
        • Tree Chart
        • Treemap Chart
        • Geo Map Charts
        • Mermaid Chart
        • Timeline
        • Progress
        • Progress Circle
      • Collaboration
        • Avatar
        • Avatar Group
        • Comment
      • Integration
        • Page
    • Кастомизация и код
      • Настройка стилей компонентов
      • Temporary State
      • Transformers
      • Data responder
      • Event handlers
      • Выполнение запросов
        • Привязка данных запроса к компонентам
      • Использование Javascript
        • JavaScript запросы
        • Встроенные функции JS
        • Работа с датой и временем в Day.js
    • Антипатерны
  • Релиз менеджмент
    • Версионирование запросов
    • Версионирование приложений
    • Доступ до приложений
    • Публикация приложений
  • Безопасность
    • Основная информация
    • IP адреса облака
    • Права доступа до объектов
Powered by GitBook
On this page
  1. Настройки платформы
  2. Настройки
  3. Расширенные настройки

Импорт UMD библиотек

Пользовательская библиотека JavaScript должна быть импортирована с использованием подхода UMD.

Это означает, что следующий подход потерпит неудачу:

function ULID() {
    ... 
    return function() {
        ... 
    };
}
exports.ULID = ULID

UMD использует единую функцию-оболочку для проверки наличия module.exports (указывающую на среду CommonJS) и define.amd (указывающую на среду AMD). Если ни один из них не найден, предполагается, что он запущен в браузере, и модуль присоединяется к глобальному объекту window.

Вот упрощенный пример модуля UMD:

(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Зарегистрируйтесь в качестве анонимного модуля.
        define([], factory);
    } else if (typeof module === 'object' && module.exports) {
        // Узел. Не работает со строгим CommonJS, но
        // только среды, подобные CommonJS, которые поддерживают module.exports,
        // как узел.
        module.exports = factory();
    } else {
        // Глобальные настройки браузера (root — window)
        root.myModule = factory();
    }
}(typeof self !== 'undefined' ? self : this, function () {
    // Код вашего модуля находится здесь

    var myModule = {};
    myModule.hello = function () {
        return 'Hello, world!';
    };

    return myModule;
}));

В приведенном примере новая структура кода будет выглядеть следующим образом:

(function (global, factory) {
    if (typeof define === "function" && define.amd) {
        define(["exports"], factory);
    } else if (typeof exports !== "undefined") {
        factory(exports);
    } else {
        var mod = {
            exports: {}
        };
        factory(mod.exports);
        global.ULID = mod.exports;
    }
})(this, function (exports) {
    function ULID() {
       ... 
    }

    function generator(){
        var ulid = new ULID()
        return ulid()
    }
    exports.generator = generator;
});
PreviousСторонние библиотекиNextКорзина

Last updated 6 months ago