无法识别的类名/别名widget.combobox(hiddenfield,fieldcontainer,...)

时间:2017-01-23 08:40:33

标签: extjs combobox extjs6 hiddenfield

在开发过程中,我通过" sencha app watch"运行我的应用程序。我没有错。 但是当我通过" sencha app build test"来构建我的应用程序时我得到了不同标准组件的错误:for combobox,hiddenfield,fieldcontainer。我通过将组件类名称添加到" require"来解决它。部分。 我的问题:为什么我必须这样做?这个领域出了什么问题?因为对于textfield我没有任何错误。 我使用ext js 6.2.0。 gpl版本

2 个答案:

答案 0 :(得分:1)

要求:按给定名称及其所有直接依赖项加载所有类。

此错误非常常见,通常是因为在使用组件之前未加载所需的Ext组件或未加载其中一个直接依赖项。

  1. 在开发设置中,我们在工作区中设置了Ext设置 通常可以很容易地提取所需的依赖项。

  2. 在生产或测试用例中,无法加载文件或 加载其中一个直接依赖项导致此问题。

  3. 主要是动态加载这些依赖项。

  4. 确保对所使用的任何组件使用要求始终是最佳做法。

    这意味着任何组件都没有任何问题,因为它们内部捆绑的方式只是一些负载问题。

答案 1 :(得分:1)

当您使用ExtJS的开发版本时,它基于app-all.js,其中包含大多数(如果不是全部)ExtJS类,并且具有2 MB缩小的大小(9 MB未分析)。因此,一旦加载了该文件,它们就完全可用了。

当您编译ExtJS的一个版本时,Sencha Cmd会构建所需类的依赖关系树,以便将生成的app.js的大小降至最低(在我的应用程序中,它缩小了1.1 MB)。对于此依赖关系树,它从app.js文件开始,并考虑类中的定义:

并在控制器中:

在其他地方,例如:

  • Ext.create()(如果您动态构建组件,可能会分散在您的代码中)
  • 组件树中的
  • xtype