#react-native
#react-native
Вопрос:
Я создал небольшую пользовательскую библиотеку компонентов React-Native, которая называется просто: united-native-components. Я хочу внедрить эту библиотеку в мое более крупное приложение React-Native под названием UnitedApp (да, я не очень креативен в своем именовании). Однако, когда я захожу для запуска приложения React-Native UnitedApp (npm под управлением ios или npm под управлением Android), я сталкиваюсь с:
Loading dependency graph...(node:843) UnhandledPromiseRejectionWarning:
Error: jest-haste-map: Haste module naming collision:
Duplicate module name: react-animated
Paths:
/Users/boris.badenov/Development/UnitedApp/node_modules/united-native-components/node_modules/react-native/Libraries/Animated/release/package.json collides with
/Users/boris.badenov/Development/UnitedApp/node_modules/react-native/Libraries/Animated/release/package.json
This error is caused by `hasteImpl` returning the same name for different files.
... additional stack material printed out
Это не согласовано, у меня произошел сбой из-за столкновения с пакетом react-native и, что удивительно, с образцом в react-native / Libraries
Мой вопрос в том, не упускаю ли я какое-то значение в компоненте package.json, которое позволяет мне встраивать его так же, как и любой другой пакет NPM, и не возникает ли проблема с конфликтом пакетов?
Это кажется очень распространенным подходом, когда у вас есть пакеты компонентов React-Native, которые встраиваются в более крупное приложение точно так же, как фреймворки в приложении iOS или файлы *.jar для приложения Android.
Комментарии:
1. Кажется, у вас в вашем проекте есть два файла package.json. Насколько я знаю, у вас может быть только один. Удалите package.json внутри united-native-components и вместо этого добавьте его зависимости в ваш основной файл package.json.
2. Хм, я думаю, у нас может быть столько, сколько мы захотим. Содержимое может создать некоторые проблемы.
3. Нет, библиотека компонентов разработана независимо, и я не могу удалить файл package.json. Кроме того, все другие фреймворки react-native, которые я использую и устанавливаю через npm, содержат файлы package.json в составе пакета для загрузки. Итак, я не верю, что у вас может быть только один файл package.json.