gpt4 book ai didi

javascript - 将 ExtJS 应用程序从 4.1.2 升级到 6.x

转载 作者:行者123 更新时间:2023-12-03 06:00:04 25 4
gpt4 key购买 nike

我正在获取一个用 ExtJS 4.1.2 编写的现有应用程序。这是一个非常大的代码库。 4.1.2 应用程序是在没有 CMD 的情况下构建的——源代码直接添加到 index.html 中。

由于没有太多 ExtJS 背景,我有以下两个问题:

1) 先升级到 5.x,然后从 5.x 升级到 6.x 是否有意义?或者直接从 4.1.2 升级到 6.x 是否安全?

2)是否应该创建一个新项目并手动复制,或者理论上我可以更新源代码以指向新的 extjs 库,然后修复所有损坏或不再兼容的客户端代码?

我不太了解 ExtJS 的历史,所以我不确定使用这个框架升级两个主要版本是否可行。

如果现有应用程序中未使用 CMD,最好的方法是什么?

最佳答案

我在生产中使用 Ext.js,我们目前正在进行类似的升级。我们现在是 4.1.1。这是我们所做的。

1) Does it make sense to upgrade to 5.x first and then go from 5.x to 6.x? Or is it safe to go directly from 4.1.2 to 6.x?

我们选择升级到 5.x,然后升级到 6.x。这背后的原因是因为 6.x 被认为不稳定(当时),并且我们需要处理的错误更少。最大的飞跃将从 4.1.2 升级到 5.x。从 5 移动到 6 很容易。 5.x 包含新功能和 API 更改。 6.x 主要是合并 sencha touch 和桌面的幕后技术债务,这一点意义重大,因为现在您可以拥有一个适用于移动和桌面的应用程序。您可能可以直接升级到 6,因为它比 Beta 版时稳定得多。

2) Should a new project be created and manually copied over, or can I just update the sources, in theory, to point to the new extjs lib, and back peddle fixing all client code that's broken or no longer compatible?

我们选择了第二个。我们替换了整个 extjs 库,并测试了所有客户端代码,然后修复了它。一切进展得相当顺利。我们确实受益于使用 sencha 架构师。 Sencha 架构师将 javascript 代码保存为 json 元数据文件。当你想升级时,它可以进行自动检查。我们在架构师项目之外也有很多与您类似的代码,并且只存在几个问题。双方的比分是 50-50。

评估升级可行性的一种方法是看代码与 Ext.Js 的紧密程度。我们让一名开发人员编写了一个迷你框架,该框架扩展了核心 Ext 类并覆盖了许多存储和 View 的核心方法。它还具有一个涉及 Ext.Js 内部结构的复杂插件框架。覆盖这些方法会使代码在升级过程中非常脆弱。我们大概 60% 的努力都花在了修复这个框架上。还有其他与 Ext.Js 紧密相连的页面,也需要花费大量的精力来迁移。代码要简单得多,例如它只是创建了一个带有一些监听器的小部件,不需要太多更改。

据我了解,Sencha CMD 是该框架的官方打包器、压缩器和依赖项管理器。当您使用 Sencha CMD 升级时,它只是替换了主库,并且对于修复实际的 javascript 没有太多作用。 Sencha 架构师是您在节省时间方面获得大量 yield 的地方。

关于javascript - 将 ExtJS 应用程序从 4.1.2 升级到 6.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39783164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com