#node.js #reactjs #yarnpkg #craco
#node.js #reactjs #yarnpkg #craco
Вопрос:
Я пытаюсь создать модульное приложение React, используя monorepository (рабочие пространства) — в корневой папке у меня есть package.json:
{
"private": true,
"workspaces": ["shared/react-components", "client/react-app"],
"scripts": {
"start": "yarn --cwd shared/react-components build amp;amp; yarn --cwd client/react-app start"
}
}
Я хочу включить общие / реагирующие компоненты (названные, например, как @ shared /react-components) в client / react-app, но прежде чем мне нужно будет скомпилировать общий модуль, и в этом месте я получаю неприятную ошибку:
Error: 'default' is not exported by ../../node_modules/deepmerge/dist/cjs.js, imported by src/styles/dark.ts
Я запустил yarn install раньше, поэтому deepmerge доступен в / node_modules. Если я удалю конфигурацию рабочих пространств и запущу: yarn install amp;amp; yarn build в shared / react-components, все работает, поэтому кажется, что проблема в конфигурации рабочих пространств.
Сценарий сборки в общих / реагирующих компонентах является: rollup -c
Есть идеи, чего может не хватать?
Ответ №1:
Оказалось, что проблема была с пакетом deepmerge и TSX, длинный поток о проблемах с импортом можно найти здесь:https://github.com/TehShrike/deepmerge/issues/87 Я заменил его Lodash merge, и мои пакеты были собраны снова.