Для выполнения импорта одного из своих пакетов в Lerna вам понадобится правильно настроить пути импорта и сборку проекта.
1. Настройка 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"]
- это относительные пути к исходным файлам ваших пакетов. Проверьте, чтобы пути соответствовали структуре каталогов в ваших пакетах.
2. Настройка сборки проекта:
- В файле 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
.
3. Использование импорта:
- В любом проекте или файле, где вы хотите использовать импорт, добавьте следующий код в начало файла:
import { SomeClass } from '@yourorg/package-a'; // или import { SomeFunction } from '@yourorg/package-b';
- Здесь SomeClass
или SomeFunction
- это экспортированные сущности из соответствующего пакета package-a
или package-b
.
Теперь ваши пакеты должны быть успешно импортированы и использованы в вашем проекте с помощью определенных путей импорта. Убедитесь, что пути импорта соответствуют значениям, указанным в tsconfig.base.json
и main
файлах package.json
.