aim 升级节点版本和React版本

pdtvr36n  于 23天前  发布在  React
关注(0)|答案(7)|浏览(25)

🚀 功能

将节点版本升级到最新版本以获得更好的性能,并将React及其依赖版本升级,因为我们无法安装一些第三方库,因为Aim React版本较旧。例如React Flow。

动机

提案

替代方案

其他上下文

mgdq6dx1

mgdq6dx11#

@Sharathmk99,感谢你打开这个问题。
我们在升级到React 18时遇到了一个瓶颈,这与Webpack 5和Comlink有关。这里是问题PR
我会检查是否可以继续进行升级,并会与你取得联系。

laawzig2

laawzig22#

非常感谢。请告诉我,如果有任何帮助,我是否可以提供。

cngwdvgl

cngwdvgl3#

关于升级的任何更新。此外,material-ui确实很旧,有任何计划升级到v5吗?谢谢

gpfsuwkq

gpfsuwkq4#

将以下文本内容添加到3.18里程碑中。@KaroMourad正在处理这个问题。
@sharathmk9,你的团队在这方面有任何进展吗?

yi0zb3m4

yi0zb3m45#

你好,@Sharathmk99

升级 Node 和 React 版本

该 UI 是通过 CRA(Create React App)创建的,这是一个官方支持的构建单页 React 应用程序的方法。它提供了一个无需配置的现代构建设置。
然而,Create React App 在 2023 年初已被弃用,其包也变得过时。尝试更新 Node 或 React 版本会导致构建失败。[ CRA issues ]( https://github.com/facebook/create-react-app/issues )
有两个解决方案来升级 Node 版本:

  1. 用 Vite 替换 CRA(由 CRA 的创建者推荐,Dan Abraamov)
    Vite 是一个用于构建快速优化的 Web 应用程序的前端工具。它采用现代构建系统和快速开发服务器,提供简洁高效的开发体验。
  2. 用 Next.js 替换 CRA
    Next.js 允许您创建全栈 Web 应用程序,利用最新的 React 功能并集成基于 Rust 的 JavaScript 工具以实现更快的构建。

迁移到 Next.js 将需要相当长的时间,因为 Next.js 以不同的方式组织路由,实际上需要重写整个 UI 应用程序。
迁移到 Vite 为解决此问题提供了更有效的方法。然而,在两次迁移迭代后,错误和问题仍然存在。这是因为 Aim 中使用了许多尚未适应这些重大更新的包。
解决方案:

为了避免破坏整个 UI 应用程序,决定保持当前的 Node 版本 v16.20.1 [v16-17],而不是升级到 v20。重点将放在修复 MUI 问题 [替换过时的 MUI 包]上。

6za6bjd0

6za6bjd06#

你对这些建议的解决方案有什么看法?
关于这个问题,你有没有取得具体的进展?

gz5pxeao

gz5pxeao7#

感谢@KaroMourad和@SGevorg关注这个问题。
当我们计划升级节点版本时,我们确实面临了类似的挑战,因为CRA已被弃用。我们确实研究了Vite和NextJS,但没有对其进行任何PoC。
解决方案是有道理的,但是一些第三方包不支持node版本1.16.x。例如,MUI v5需要react 17.x.x和node版本17.x.x。
我们正在将Argo Workflow集成到编排训练作业中,并希望使用reactflow来可视化DAG。在node 16.x.x上遇到了一些问题,但通过遗留设置得以克服。
关于Material UI包,是的,我们希望使用mui v5中Orchestration & Model Registry的许多预定义组件,但最终还是创建了自己的自定义组件。
明年我们将抽出时间检查是否可以升级节点版本,但目前mui是唯一的痛点。
一旦开始,我们会更新这里并分享结果。

相关问题