Вместо публикации или упаковки пакетов вы можете использовать функцию сопоставления путей TypeScript..
Это позволяет вам писать операторы импорта так же, как и в случае с опубликованным пакетом, но «за кулисами» TypeScript сопоставляет импорт с указанным местоположением исходного кода.
Вот пример tsconfig.json с сопоставлением пути, добавленным в параметры компилятора:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"ui-components": ["libs/ui-components"],
"ui-components/loader": ["libs/ui-components/dist/loader/index.cjs.js"],
"ui-components-react": ["generated/ui-components-react/src/components.ts"]
},
...
Как видите, у него есть 3 сопоставления: путь к основным компонентам Stencil ui-components
, путь к сгенерированным компонентам React, которые отображаются как ui-components-react
, а также сгенерированный загрузчик ui-components/loader
, который обеспечивает мост между пользовательскими элементами и React обертки.
Я создал полный рабочий пример для Stencil Web Components со сгенерированными привязками и оболочками для React, который поставляется без необходимости публикации какого-либо пакета: Nx Stencil React.
Обратите внимание, что этот ответ основан на @stencil/core 1.14.0
или ниже. В будущих версиях может быть другой подход к созданию интеграции фреймворка.
02.06.2020