Для выполнения импорта одного из своих пакетов в Lerna вам понадобится правильно настроить пути импорта и сборку проекта.
- Настройка TypeScript путей импорта:
- Создайте файл
tsconfig.base.json
в корневом каталоге проекта, если его нет. - Добавьте следующее содержимое в
tsconfig.base.json
:
{ "compilerOptions": { "baseUrl": ".", "paths": { "@yourorg/package-a": ["packages/package-a/src"], "@yourorg/package-b": ["packages/package-b/src"] } } }
- Здесь
@yourorg/package-a
и@yourorg/package-b
- это синонимы путей импорта для ваших пакетов. ["packages/package-a/src"]
и["packages/package-b/src"]
- это относительные пути к исходным файлам ваших пакетов. Проверьте, чтобы пути соответствовали структуре каталогов в ваших пакетах.
- Настройка сборки проекта:
- В файле
package.json
каждого пакета (например,packages/package-a/package.json
иpackages/package-b/package.json
) добавьте секциюmain
со значением"dist/index.js"
:
{ "name": "@yourorg/package-a", "main": "dist/index.js" // остальная часть файла package.json }
- Запустите сборку TypeScript для каждого пакета с помощью команды
tsc -b packages/package-a
иtsc -b packages/package-b
. - Обратите внимание, что путь к выходному файлу сборки ("dist/index.js") должен соответствовать значению, указанному в секции
main
файлаpackage.json
.
- Использование импорта:
- В любом проекте или файле, где вы хотите использовать импорт, добавьте следующий код в начало файла:
import { SomeClass } from '@yourorg/package-a'; // или import { SomeFunction } from '@yourorg/package-b';
- Здесь
SomeClass
илиSomeFunction
- это экспортированные сущности из соответствующего пакетаpackage-a
илиpackage-b
.
Теперь ваши пакеты должны быть успешно импортированы и использованы в вашем проекте с помощью определенных путей импорта. Убедитесь, что пути импорта соответствуют значениям, указанным в tsconfig.base.json
и main
файлах package.json
.