NPM 还是纱线?启动 React Native 项目和管理包的标准做法是什么?

Cro*_*ile 4 package-managers npm reactjs react-native yarnpkg

启动一个新的 React Native 项目时,如下所示,它会在创建一个yarn.lock文件时使用yarn进行设置。

react-native init myProjectName
Run Code Online (Sandbox Code Playgroud)

与此同时,许多通用库都假设正在使用NPM,例如:

npm install --save react-native-navigation
Run Code Online (Sandbox Code Playgroud)

现在,在网上阅读了许多关于此问题的辩论(例如这个),我认为混合两者通常不是一个好主意,开发人员应该坚持其中之一。

所以...我决定使用NPM,因为这是我感到高兴、熟悉和舒适的东西,而且我还没有看到任何增量可以证明在我的情况下切换到Yarn是合理的。(要不然就被说服。)

我的问题:

  • 在我的情况下,最好的做法是开始一个项目react-native init myProjectName,然后手动撕下纱线部分,例如这个Stackoverflow 答案所描述的那样?或者有没有更好的方法使用NPM启动 React Native 项目?
  • 我应该只使用 Yarn,并用它安装所有内容,因为这只是“真正的”React Native 方式,还是出于任何其他原因?

我正在寻找最佳实践是什么,并从现在开始坚持下去。如果可能的话,我宁愿将来不再考虑包管理而消耗更多的气体。

Mat*_*oak 5

每个都有自己各自的好处。

纱线:优点

  • 被认为比 NPM 更快
  • 易于使用/稳定
  • 与 NPM 没有太多背离

纱线:缺点

  • 不适用于节点 v5 或更早版本。

  • 安装/编译本机模块时遇到问题。 尽管我相信有更多最新的更新/解决方法