javascript - 将 Ext.Loader 配置为每个命名空间有一个文件

标签 javascript extjs extjs5

有没有一种方法可以以这种方式配置Ext.Loader,以便它可以为每个命名空间处理一个文件? 每个文件有一个类通常是可以的,但有时需要有太多文件。有什么想法吗?

最佳答案

如果您有所有类的列表,那么您只需将适当的映射添加到 Ext.Loader 即可,如下所示:

Ext.Loader.addBaseUrlClassPathMappings({
    "Namespace.Class": "path/fileName.js"
});

如果您没有此类列表,那么事情就没那么简单了。您可以覆盖 Ext.configuration.ux.Inventory.getPath 并在那里进行一些映射。示例代码:

Ext.define('Ext.configuration.ux.Inventory', {
    override: 'Ext.Inventory',
    getPath: (function () {
        var parent = Ext.Inventory.prototype.getPath;

        return function (className) {
            var result = parent.apply(this, [className]);

            // do mapping here                
            console.log(className + ' -> ' + result);

            return result;
        };
    }())
});

关于javascript - 将 Ext.Loader 配置为每个命名空间有一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737070/

相关文章:

extjs - 如何缩小 ExtJS 清晰主题中的 UI 大小

javascript - 限制 Object.fromEntries 的推断类型

javascript - 使用 Jquery 将表单值中 json 中特定键的值相加

javascript - Node 服务器 http close 事件总是触发

javascript - Extjs 4.2 缓冲存储同步数据不起作用

javascript - ExtJS:如何使用其他 ExtJS 组件创建自己的类?

javascript - 仅当表单脏时才显示添加按钮

javascript - ExtJS中多视口(viewport)的情况

extjs - 如何更改 ExtJs 3.3 中工具提示的位置

javascript - EXTJs:添加 subview