У меня есть 4 проекта в одном yarn workspaces
monorepo:
- @ foo / server - Nest JS (TypeScript)
- @ foo / client-web - React ( TypeScript)
- @ foo / client-mobile - ReactNative (TypeScript)
- @ foo / shared - Компоненты / типы / перечисления (TypeScript)
пакет. json:
...
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/client-mobile",
"**/client-mobile/**"
]
},
...
У меня нет проблем при импорте @foo/shared
в @foo/server
, но когда я пытаюсь импортировать @foo/shared
в @foo/client-mobile
, я получаю эту ошибку:
ошибка: связывание не удалось: Ошибка: невозможно разрешить модуль @foo/shared
из src\screens\Project\Project.tsx
: не удалось найти @ foo / shared в проекте.
Это вызвано тем, что я я использую nohoist
для @foo/client-mobile
? Могу ли я по-прежнему использовать общие пакеты, когда у меня есть пакет nohoist
?
Я не могу деактивировать nohoist
, поскольку многие модули React Native на самом деле не поддерживают монорепозицию прямо сейчас.