ExtJS - 将我所有的应用程序控制器添加到应用程序文件中的控制器数组中是一种好习惯吗

ExtJS - Is it good practice to add all of my application controller inside controller array in Application file

我正在使用 ExtJS 5 创建一个大型应用程序。 我正在尝试最小化应用程序的初始加载时间。加载应用程序后,它的响应速度非常快。

在 Application.js 文件中,我已经在 views[] 中声明了所有视图(>300),在 controllers[]

中声明了所有控制器(>300)

在 Application.js 文件中声明所有视图和控制器是一个好习惯还是不应该这样做?

其他详情-

我已经在使用 Sencha Cmd 构建我的应用程序。 构建完成后 app.js 的大小约为 5MB。 我们还使用 gzip 以便 app.js 文件减少到大约 1.2 MB。

分离利益关注点的一个好方法是 Using ViewControllers in Ext JS 5。 您的视图控制器只会在您创建视图时创建。这可能会减少应用程序的加载时间。所提供的 link 提供了有关如何使用此类控制器的非常好的示例。

如果您想在登录前减小下载的大小,可以将应用拆分为多个页面。第一页可以进行登录,然后重定向到下一页,该页面会关闭应用程序的其余部分。

或者 - 这更棘手 - 您可以自定义构建过程,使用 Sencha Cmd 的 includeexclude 参数将您的应用程序文件拆分为多个文件。然后您可以生成一个小包来启动应用程序并显示一个登录对话框。成功登录后,您可以使用 Ext.Loader.

加载应用程序包的其余部分

尽管如此,请不要问我该怎么做 - Sencha Cmd 工具有点神秘。如果您决定采用这种方法,最好联系 Sencha 的支持团队。