Совместное использование компонентов React между проектами с сохранением исходного кода в одном из них - PullRequest
0 голосов
/ 19 сентября 2018

Я ищу способ обмена компонентами React (а также их типами потока и их SCSS) между двумя проектами, сохраняя при этом исходный код для компонентов в одном из проектов.Во втором проекте будут использоваться только для чтения компоненты из другого проекта.

Однако, поскольку основной проект находится глубоко внутри каталога в репозитории Git, я не могу добавить зависимость NPM квторой проект первого проекта (package.json в первом проекте не находится в корневом каталоге git).

На данный момент единственный вариант, который я нашел, - это иметь скрипт, который вручную копирует всекод из каталога первого проекта в другой.Однако мне было интересно, есть ли более «стандартный» способ сделать это.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Вы можете иметь его как зависимость NPM и импортировать из него, даже если он находится во вложенном каталоге .На самом деле ваше приложение может полностью не знать, где фактически находится пакет, если вы используете веб-пакет (или любой пакет модуля), используя resol .

В заключение: нет необходимости иметь этот компонент какmain пакета. json.Его присутствие в node_modules делает его доступным.Ваш модуль модуля позволяет легко импортировать через конфигурацию.Версия может управляться с помощью git с поддержкой NPM / yarn git url для установки пакетов.

0 голосов
/ 19 сентября 2018

Попробуйте использовать подмодуль git.Вот документация .

Допустим, у вас есть Project1 и вы хотите использовать его в Project2.Для простоты добавьте файл .gitmodules в корневой каталог Project2.Внутри этого файла это:

[submodule "src/project-1"]   //you can change the path to wherever you want to put the Project1 inside Project2
   path = src/project-1   //same as above mentioned path
   url = git@github.com/your-project-1-repo.git
   branch = master //branch of Project1 that you want to use, usually in the master

Затем выполните эти команды в Project2

git submodule init

И всякий раз, когда у вас есть изменения в Project1, просто запустите

git submodule update --remote

в вашем Project2, чтобы обновить Project1, который вы используете в Project2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...