Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Ext.Loader配置为每个命名空间有一个文件_Javascript_Extjs_Extjs5 - Fatal编程技术网

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

Javascript 将Ext.Loader配置为每个命名空间有一个文件,javascript,extjs,extjs5,Javascript,Extjs,Extjs5,是否有办法以这种方式配置Ext.Loader,使其能够处理每个命名空间的一个文件? 每个文件有一个类通常是可以的,但有时需要有太多的文件。有什么想法吗?如果您有所有类的列表,那么您可以向Ext.Loader添加适当的映射,如下所示: Ext.Loader.addBaseUrlClassPathMappings({ "Namespace.Class": "path/fileName.js" }); 如果你没有这样的清单,那就没那么简单了。您可以覆盖Ext.configuration.ux

是否有办法以这种方式配置
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;
        };
    }())
});

另一种选择是,如果您有一个“私有”类,该类只供创建它的类使用(或与之结合使用),则可以向文件中添加多个
Ext.define
语句,并以这种方式拥有多个类

这是一种帮助分组相关类并将文件杂乱程度降低一点的方法

需要注意的是,不能使用
requires
uses
加载这些类