мы пытаемся добавить в наше основанное на реагировании приложение независимое приложение, которое должно быть включено в веб-страницы наших клиентов при обслуживании с наших серверов.Для простоты использования и меньших размеров файлов мы хотели использовать preact.
Пока каждое приложение самостоятельно компилируется, при объявлении обоих в качестве входных файлов в моем веб-пакете я получаю трассировку стека, включающую следующие ошибки:
Из проекта preact:
[tsl] ERROR in /home/user/workspace/project/ui-ticker/tickerV2.tsx(7,8)
TS2605: JSX element type 'RootNode' is not a constructor function for JSX elements.
Property 'refs' is missing in type 'RootNode'.
ERROR in /home/user/workspace/project/ui-ticker/tickerV2.tsx
[tsl] ERROR in /home/user/workspace/project/ui-ticker/tickerV2.tsx(7,9)
TS2686: 'React' refers to a UMD global, but the current file is a module. Consider adding an import instead.
Из проекта реагирования:
ERROR in /home/user/workspace/project/ui/app.tsx
[tsl] ERROR in /home/user/workspace/project/ui/app.tsx(10,5
)
TS2605: JSX element type 'ReactElement<any>' is not a constructor f
unction for JSX elements.
У меня есть следующая структура папок:
- project
- tsconfig.json
- ui (react-app)
- tsconfig.json
- ui-ticker (preact-app)
- tsconfig.json
tsconfig для preactвыглядит так:
{
"compilerOptions": {
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"noImplicitAny": false,
"noImplicitReturns": false,
"noImplicitThis": false,
"strictNullChecks": false,
"noUnusedLocals": false,
"jsx": "react",
"jsxFactory": "h",
},
"include": [
"./*.ts",
"./*.tsx"
],
"exclude": [
"../node_modules/",
"../ui/"
]
}
Приложение реакции выглядит примерно так же.Как-то оба приложения, кажется, получают доступ к неправильным объявлениям типов.Есть ли способ каким-то образом полностью изолировать оба приложения от зависимостей друг от друга, сохраняя их в одной конфигурации веб-пакета?