ExtJS 7: Как различать загрузку ресурсов пакетов, которые не могут быть объединены

У нас есть классическое приложение на основе Sencha ExtJS7, использующее пакет, который требует отдельной загрузки большого количества файлов js (чтение не может быть объединено). Итак, мы загружаем их черезpackage.json js config

    "js": [
        {
            "path": "${package.dir}/resources/ace-builds-master/src-min-noconflict/ace.js"
        },
        {
            "path": "${package.dir}/resources/ace-builds-master/src-min-noconflict/theme-monokai.js"
        },

        <snipped................>

Таким образом, есть много файлов, которые нужно загружать отдельно, и их не следует объединять в один.

При производственной / тестовой сборке эти файлы загружаются до начала работы приложения.

Есть ли способ загрузить эти файлы, когда панель, которая требует их, добавлена ​​на экран, или отложить их после загрузки и начала работы приложения?

1 ответ

Во-первых, если вы хотите сделать это, вы не можете связать javascript в своем приложении; весь связанный код будет загружен как часть начальной загрузки приложения.

Во-вторых, существуют ванильные способы JS для загрузки большего количества скриптового кода, но способ сделать это с помощью ExtJS - Ext.Loader#loadScript.

Другой способ сделать это, если это пакеты ExtJS (а не произвольные пакеты NPM), - это объявить пакеты в разделе "использует" app.json, что позволит вам динамически загружать их с помощью Ext.Package#load

Другие вопросы по тегам