TypeScript: самый простой способ поделиться кодом между проектами - PullRequest
0 голосов
/ 23 октября 2018

Я пишу как приложение 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говорит, что он не может решить модуль.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...