0

EXTJS 6,要求或用途 - 以编程方式确定

在工作中,我们使用的是 EXT JS 6,我的任务是“加快速度”。我已经做了几件事,并且已经实现了至少 30% 的速度提升。但是,在加载页面/模块/部分(无论您想如何称呼它)时,第一个组件下面的每个组件都是异步加载的。这会导致页面加载延迟约 20 秒。

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

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

我查看了很多文档并得出结论,我们应该使用“使用”来定义可以单独加载到“屏幕优先”内容的程序部分。

因此,例如,上述内容将变为:

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

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

问题 1:我如何务实地确定我的“要求”中的某些内容是否可以/应该使用“使用”加载

问题 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 要求

4

1 回答 1

1

要确定可以通过 加载哪些内容uses,您只能将“必需”部分中的所有内容移至“使用”部分,并检查哪些内容已损坏。

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

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

于 2016-09-21T18:51:12.363 回答