Я пишу как приложение React.js, так и приложение React Native, оба из которых являются отдельными пакетами NPM в монореполе Lerna.То, что я пытаюсь сделать, - это проект типа «разделяемая библиотека», который будет содержать файлы TypeScript, совместно используемые обоими проектами, и похоже, что это почти невозможно сделать простым и чистым способом.
Если я создаю разделяемую библиотеку в виде пакета NPM, даже если я сделаю символическую ссылку, мне нужно будет перекомпилировать ее каждый раз, когда она изменится.Я ищу способ импортировать файлы TypeScript непосредственно из общего проекта в процесс компиляции как React.js, так и собственного приложения React.
Я также читал о параметре "paths" в tsconfig.jsonи попытался сделать что-то вроде этого:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@shared-types/*": ["../@test-shared/test-shared-types/lib/*"]
}
}
А потом я попытался импортировать класс, такой как: import {x} из "@ shared-types / Types", но это тоже не работает, TypeScriptговорит, что он не может решить модуль.
Я не знаю, почему сделать что-то такое простое так сложно, и я надеюсь, что у кого-то здесь есть хорошее, чистое решение.