Ext.loader 的异步加载(Asynchronous Loading),其好处是能够跨域,不需要服务端支持,也就是直接打开网页文件,协议是这样的 file://path/to/your/index .html 也可以引入脚本。而且这是适合调试的一种方式,可以显示文件名和出错的代码行数。缺点是必须手动指明所依赖的包。
引入方式一:显式声明你需要引入的包
支持类的全称引入、别名引入和同配符引入,参数既可为字符串类型,也可以为数组类型。例子如下:
// Syntax Ext.require({String/Array} expressions); // Example: Single alias Ext.require('widget.window'); // Example: Single class name Ext.require('Ext.window.Window'); // Example: Multiple aliases / class names mix Ext.require(['widget.window', 'layout.border', 'Ext.data.Connection']); // Wildcards Ext.require(['widget.*', 'layout.*', 'Ext.data.*']);
引入方式二:显式排除不需要的
// Syntax: Note that it must be in this chaining format. Ext.exclude({String/Array} expressions) .require({String/Array} expressions); // 除了 Ext.data.* 以外,其他都引入 Ext.exclude('Ext.data.*').require('*'); // 除了 widget.checkbox* 以外,其他部件都引入,包括 widget.checkbox, widget.checkboxfield, widget.checkboxgroup 等都不引入。 Ext.exclude('widget.checkbox*').require('widget.*');