2016-10-04 1 views
0

У нас есть приложение es6, которое передается с помощью babel. Он имеет следующую структуру файла:Как структурировать приложение React ES6 для содействия повторному использованию общего кода

- Root - common - common-component - common-component.spec.js - project1 - .babelrc - .jest.json - package.json - node_modules - src - component - component.js - component.spec.js - project2 - .babelrc - ...

Я хочу строить, тестировать и запускать project1. Эта сборка должна включать источник и тесты из общих и project1 и игнорировать содержимое проекта2.

В настоящее время я вижу, что babel подходит к дереву каталогов, ищущему .babelrc и node_modules и т. Д. При работе в контексте project1 это явно не находит их и возникает ошибка транспиляции.

Есть ли способ включить файлы из общих при выпуске теста запуска npm из каталога project1?

Или, в качестве альтернативы, общие, project1 и project2 считаются независимыми проектами со своими собственными пакетами. Json, .babelrc, node_modules и т. Д. Если это так, то как бы я мог запускать тесты из общих при построении проекта1 или project2?

Я чувствую, что мне не хватает чего-то очевидного с точки зрения повторного использования кода с несколькими проектами.

Заранее спасибо.

ответ

0

В случае, если кто-либо еще сталкивается с этим.

Мы нашли 2 решения для достижения намеченного сценария.

  1. Использование подмодулей git для включения общего кода репо в качестве подпапки проекта 1 и/или проекта2.

  2. Создайте пакет npm для общего кода и потяните его вниз в project1 и/или project2.

Мы решили пойти с вариантом 2 и запустить отдельный проект через наш строительный трубопровод, который протестировал общие компоненты в изоляции от любых проектов.

Смежные вопросы