Создать единую библиотеку из монорепо - PullRequest
0 голосов
/ 24 апреля 2020

Интересно, кто-то может направить меня в правильном направлении или, возможно, заполнить пробел в знаниях, которые я могу упустить. У меня есть monorepo, использующий Lerna с несколькими пакетами, и я пытаюсь запустить их все через процесс сборки, используя webpack для создания одной библиотеки. Я буду псевдокодировать то, что у меня есть.

packages
  -x
  -y
  -z
  -core

Каждый пакет является точкой входа в конфигурацию моего веб-пакета, за исключением ядра, а конечный пункт назначения находится в каталоге dist в ядре

entry: {
   x: path/to/x
   y: path/to/y
   z: path/to/z
}
output: {
   path: path/to/core/dist,
   ...
}

В индексе. js пакета ядра, который публикуется. Я экспортирую связанные модули следующим образом:

const X = require('./dist/x')
const Y = require('./dist/y')
const Z = require('./dist/z')

export {X, Y, Z}

Я делаю это, потому что хотел бы библиотека, которая будет использоваться, как и другие крупные проекты с открытым исходным кодом, использующие монорепозиции, такие как React Router, куда вы можете импортировать модули, используя деструктурирование, как показано ниже:

import {
   Router,
   Switch,
} from "react-router-dom";

Это способ настройки веб-пакета или я пропустил отметка? Как лучше всего использовать монорепо с несколькими пакетами и создавать одну библиотеку / пакет?

...