升级 React Native 依赖项的最佳方法
Best approach to upgrade react native dependencies
最近加入了一家新公司,发现有很多过时的项目依赖,例如react-navigation@2.x.x、react-native-firebase、react-native等,现在想升级所有他们。现在另一个问题是剩下的四个开发人员正在处理过时的软件包。
那么最好的方法是什么
提前致谢
我最近也经历过同样的事情。这是我的处理方式:
您必须与这些开发人员交谈并获得升级批准。然后你必须select一天没有开发升级,因为每次新提交都会引入冲突,周末最好。
将项目备份到多个地方,如果你做了一些糟糕的事情,即使是远程 git repo 也可能帮不了你。
先升级react native。最近版本的库依赖于 React Native 的新技术。例如 reanimated 2 需要 rn > 0.62。
您可以使用 React Native Upgrade Helper 查看发生了什么变化。如果您的项目没有使用太多自定义原生代码,您甚至可以创建一个新的空 React Native 项目并复制必要的文件。
在 android 和 ios 中测试您的应用,看看升级 React Native 没有破坏任何东西。
然后查看每个依赖项以查看发生了什么变化。如果您能找到迁移指南(类似这样的内容:https://reactnavigation.org/docs/5.x/upgrading-from-4.x),那么您就走运了。
一些库,如 react navigation,react native reanimated 发生了巨大变化。这些类型的库将是您的大部分工作,尤其是重新激活的。每个库后测试和备份项目。
你应该完成了。为每个屏幕/每个方法再次测试您的项目。
如果您 100% 确定项目 运行 符合预期,您可以更改/创建新测试并合并您的更改。
最近加入了一家新公司,发现有很多过时的项目依赖,例如react-navigation@2.x.x、react-native-firebase、react-native等,现在想升级所有他们。现在另一个问题是剩下的四个开发人员正在处理过时的软件包。
那么最好的方法是什么
提前致谢
我最近也经历过同样的事情。这是我的处理方式:
您必须与这些开发人员交谈并获得升级批准。然后你必须select一天没有开发升级,因为每次新提交都会引入冲突,周末最好。
将项目备份到多个地方,如果你做了一些糟糕的事情,即使是远程 git repo 也可能帮不了你。
先升级react native。最近版本的库依赖于 React Native 的新技术。例如 reanimated 2 需要 rn > 0.62。 您可以使用 React Native Upgrade Helper 查看发生了什么变化。如果您的项目没有使用太多自定义原生代码,您甚至可以创建一个新的空 React Native 项目并复制必要的文件。
在 android 和 ios 中测试您的应用,看看升级 React Native 没有破坏任何东西。
然后查看每个依赖项以查看发生了什么变化。如果您能找到迁移指南(类似这样的内容:https://reactnavigation.org/docs/5.x/upgrading-from-4.x),那么您就走运了。 一些库,如 react navigation,react native reanimated 发生了巨大变化。这些类型的库将是您的大部分工作,尤其是重新激活的。每个库后测试和备份项目。
你应该完成了。为每个屏幕/每个方法再次测试您的项目。 如果您 100% 确定项目 运行 符合预期,您可以更改/创建新测试并合并您的更改。