【问题标题】:ExtJS file load approachExtJS 文件加载方法
【发布时间】:2013-12-22 13:09:30
【问题描述】:

我的应用程序在主页上有超过 7 个选项卡,每个选项卡本身都非常全面,带有嵌套的选项卡/窗口。

我正在使用 EXTJS 4.2 MVC 架构。我的问题是我应该使用什么方法来加载所有视图/控制器/存储。这不包括对 Web 服务器的代理调用,因为它们仅基于用户请求。

  • 第一种方法:通过在 app.js 文件中包含所有控制器,在应用程序首次加载时加载所有文件,这些控制器将加载所有选项卡特定文件。我确实有一个长期使用 ExtJs 的人员资源,并建议一次加载所有内容是可以的。 EXTJS 构建过程会将所有这些文件合并到一个文件中,它就像 ext.js 文件一样,本身非常大,加载时间非常短。
  • 第二种方法:仅在用户选择该选项卡时加载选项卡视图/控制器。这将需要动态调用控制器。

因为我是 ExtJS 的新手并且有延迟加载的心态。不确定它如何适合 EXTJS 世界。请根据您的经验给我建议。

【问题讨论】:

  • 如果您使用 sencha cmd 进行构建,它将把所有文件编译成一个用于生产的缩小文件。 isNull1339
  • 是的,这就是使用 sencha cmd 构建生产项目的计划。那么您认为第一种方法是否正确?
  • 如果您打算使用 sencha cmd,那么该工具集支持该方法。如果您计划动态加载所需的文件,那么 sencha cmds 缩小方法将不起作用。但是,如果您担心未缩小时的加载时间,您可以切换到框架的 ext-all ,然后它只加载您的 js 文件单独加载仍然非常快(我在几个项目中采用了这种方法)
  • 感谢@weeks 的建议

标签: javascript model-view-controller extjs extjs4


【解决方案1】:

只要您将文件连接并缩小到单个包中,您的资源加载时间就应该是合理的。如果您还在资源加载 url 的末尾包含一个版本号,那么当您想要更新捆绑包时,您将获得浏览器缓存和按需刷新的好处。您只需修改版本,下次浏览器就会从服务器重新加载您的包。

处理 7 个控制器和设置侦听器是一项开销,但我怀疑您会在这里看到重大的性能改进。请注意多次往返服务器以获取资源和数据。这是您将看到负面影响的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-02
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多