刚刚通过npx react-native init AwesomeTSProject --template react-native-template-typescript
. Expo 不适合我,因为据我所知,这个框架只为 Android 和 iOS 构建,我打算在所有支持的平台上运行该应用程序。
一般来说,我尽量不使用项目生成器,原因有两个:
- 很多不必要的
- 建议的文件结构通常不适合我。
但是,我还没有 100% 手动部署 React Native 项目的方法,因此我必须清理和重新组织建议的文件结构。
首先引起您注意的是 Ruby 文件(.ruby-version、 Gemfile、Gemfile.lock)的存在。从逻辑的角度来看,尚不清楚这些文件在 React Native 项目中的作用——他们是否建议我用 Ruby 编写服务器部分?
那么,第二个问题是是否可以安全地删除所有这些文件。
特别是关于您有问题的那些文件。
答案可以在文档,设置开发环境的描述中找到。
react-native
Mac 使用CocoaPods进行包管理,它依赖于ruby
.如果安装后你查看
Gemfile
,那么会有这样的东西这是来自一个真实的项目。也就是说,我们可以看到那里只不过是一次发射
cocoapods
。没有这些文件,在网络和 Android 上一切正常。但是要为IOS构建一个项目,我使用以下例程
如果你删除指定的文件,那么我会得到一个错误的异常。
也就是说,这些文件用于包管理,类似于 npm/yarn。
UPD
例如,这里是自动链接(一种检测库中特定于平台的代码并使用它的机制)如何为 IOS 工作的。您可以看到该过程有两个步骤,其中之一是通过
CocoaPods
.但这还不是全部。我测试并发现在 react > 0.64 中,在需要原生库或 SDK 之前,没有 gems 一切正常。我用mapbox gl 测试了 react-native。可以选择通过 SDK 安装
CocoaPods
或手动下载 SDK。在第一种情况下,需要宝石,在第二种情况下,没有它们一切正常。概括
根据你在 IOS 上使用的包和库,你可能需要 ruby 文件