react-native - 我是否必须对带有 react-native-web 的 monorepo 中的所有软件包使用 no-hoist?
问题描述
我正在开发一个 SPA,我正在使用 Rails 和 ruby webpacker 实现来提供服务。我将我的客户端文件夹拆分为一个 yarn monorepo 用于我web
的native
、 和common
代码,这样我就可以使用 react-native-web 尽可能多地重用。
到目前为止,对于本机部分,我必须将nohoist
指令用于我想要使用的任何库。当我运行 android 开发服务器时,它不能在提升的 node_modules 文件夹中捆绑任何东西,所以我想使用的任何东西我都必须告诉它安装在本地 node_modules 文件夹中,使用nohoist
.
我想知道这些项目是否应该这样设置,如果这正常吗?我应该使用像 Lerna 这样的东西来管理符号链接和包提升吗?设置时我是否错过了某个步骤或某个库?
解决方案
我在单存储库中使用纱线工作区和 lerna,并且符号链接不适用于我们的 react-native 项目。
我在子包的 package.json(mono-repo 中的 react native 包)中添加了以下内容,以防止提升 react native 包中的任何内容:
"workspaces": {
"nohoist": [
"*",
]
},
我假设这类似于 react-native-web。
我们尝试了许多其他不起作用的方法,看起来提升通常与基于 React Native 的项目不兼容。
推荐阅读
- node.js - Microsoft bot emulator azure AD oauth 不提供选择登录帐户的选项
- android - 为什么 LiveData 很慢
- ios - iOS 恢复自动续订订阅
- node.js - AWS lambda nodejs函数不使用accessKeyId和secretAccessKey?
- swift - 具有节标题的 IGListCollectionsVeiw 中单元格的自动大小不起作用
- php - php减法给出错误答案
- c# - 从字符串中查找有效的文本出现
- linux - 查找在某个文件之前修改过的文件
- reactjs - 类型检查道具时如何指定孩子的长度?
- arrays - 如何在 Swift 中将“图像数组保存为照片库中的连拍图像”