在开发过程中,我通过"sencha应用程序手表"运行我的应用程序,我没有错误。但是当我通过"sencha应用程序构建测试"构建我的应用程序时,我得到了不同标准组件的错误:对于组合框,隐藏字段,字段容器。我已经通过将组件类名称添加到"require"部分来解决它。我的问题:为什么我必须做这个技巧? 这个字段有什么问题?因为对于文本字段,我没有收到任何错误。我使用 ext js 6.2.0。GPL 版本
要求:按给定名称及其所有直接依赖项加载所有类。
此错误非常常见,通常是因为在使用该组件之前未加载所需的 Ext 组件或其直接依赖项之一而发生的
。在开发设置中,我们在工作区
中有 Ext 设置通常可以轻松拉取所需的依赖项。在生产或测试用例中,它无法加载文件或加载导致此问题的直接依赖项之一。
主要是动态加载这些依赖项。
使用的任何组件使用 REQUIRED 始终是一种最佳做法。
这意味着任何组件都没有问题,只是由于它们内部捆绑的方式,大多数负载问题。
的开发版本时,它基于 app-all.js
,其中包含大多数(如果不是全部)ExtJS 类,并且大小缩小了 2 MB(未缩小 9 MB)。因此,一旦加载了该文件,它们就完全可用了。
当您编译 ExtJS 版本时,Sencha Cmd 会构建所需类的依赖树,以将生成的app.js
的大小保持在最小值(在我的应用程序中,它缩小了 1.1 MB)。对于此依赖关系树,它从app.js
文件开始,并考虑类中的定义:
-
extend
-
override
-
requires
-
uses
在控制器中:
-
views
-
stores
-
models
但不是其他地方,例如:
-
Ext.create()
(如果动态构建组件,则可能分散在代码周围) -
xtype
组件树中。