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

时间:2016-09-21 13:57:27

标签: javascript optimization extjs programmatically

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'
],

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

例如,上面的内容会变成:

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-requires

1 个答案:

答案 0 :(得分:1)

要确定您可以通过uses加载哪些内容,您只能移动“#34; required"进入"使用"部分,并检查什么是破碎的。

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

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