务实地确定 EXT JS 6 - 需要或使用子文件

Pragmatically Determine EXT JS 6 - Required or Uses subfile

EXTJS 6,需要或使用 - 以编程方式确定

在工作中我们使用的是 EXT JS 6,我的任务是 'speeding it up'。我已经做了几件事,并且至少实现了 30% 的速度提升。但是,当加载 page/module/section (无论你想怎么称呼它)时,第一个组件下面的每个组件都是异步加载的。 这导致页面加载出现大约 20 秒的可测量延迟。

我相信这是因为当我们从 EXT JS 4 迁移时,我们将所有内容都保留在 class 定义中作为要求。

requires: [
    'app.view.setup.thing.TabController',
    'app.view.setup.thing.Panel',
    'app.store.setup.combo.thingGroupIcons'
],

我看了很多文档,得出的结论是我们应该使用 'uses' 来定义可以单独加载到 'on-screen-first' 的程序部分。

例如,上面会变成这样:

requires: [
    'app.view.setup.thing.Panel',
],
uses: [
    'app.view.setup.thing.TabController',
    'app.store.setup.combo.thingGroupIcons'
],

该程序可能有 500 个 pages/sections。大概有 3000~ 个文件。所以我的问题是(真的是两倍)。

问题 1:如何实用地确定 'requires' could/should 中的某些内容是否使用 'uses'

加载

问题 2:我的方向是否正确?

围绕 EXT JS 有一个非常敌对的社区,所以我在 Stack 上问这个问题,希望人们能提供更多帮助。今天到目前为止我已经花了七个小时阅读,下面是一些我认为真正有用的链接。

https://www.sencha.com/forum/archive/index.php/t-133191.html?s=8b90c637dd96fed53597cd029544d955 http://docs.sencha.com/extjs/6.0.0/classic/Ext.Class.html#cfg-requires

要确定您可以通过 uses 加载哪些内容,您只能将 "required" 部分中的所有内容移至 "uses" 部分,并检查损坏的部分。

但是使用uses,你只能改善未编译版本的加载时间,而不是cmd编译版本的加载时间,其中所有依赖项都在一个javascript文件中,应该是唯一面向客户的版本。

当然,您始终可以像我老板那样做,并聘请一些高薪顾问™(来自 Sencha 或您附近的 Sencha 批准的销售点)来审查您的申请。他们的第一个结果正是我已经告诉他的:没有可能进一步显着提高我们的 Cmd 编译版本的加载速度。他们告诉我们,我们只剩下一个选择了——我应该添加一个动画启动画面,这样可以将加载时间缩短一半。如果你使用秒表当然不会,但是用户在启动应用程序时没有秒表...