我尝试使用monorepository(工作区)构建模块化React应用程序-在根文件夹中,我具有package.json:
{
"private": true,
"workspaces": ["shared/react-components", "client/react-app"],
"scripts": {
"start": "yarn --cwd shared/react-components build && yarn --cwd client/react-app start"
}
}
我想将共享/反应组件(例如,命名为@ shared / react-components)包含在客户端/反应应用中,但是在我需要编译共享模块之前,在这个地方我得到了讨厌的错误:
Error: 'default' is not exported by ../../node_modules/deepmerge/dist/cjs.js, imported by src/styles/dark.ts
我在/ node_modules中可以使用deepmerge之前运行过yarn安装。如果我删除工作空间配置并运行:yarn install && yarn构建在共享/反应组件中,则一切正常,因此看来问题出在工作空间配置中。
共享/反应组件中的构建脚本为:rollup -c
有什么想法可能会丢失吗?
答案 0 :(得分:0)
事实证明,Deepmerge软件包和TSX是一个问题,有关导入问题的长篇文章可以在这里找到:https://github.com/TehShrike/deepmerge/issues/87我用lodash merge替换了它,然后重新构建了我的软件包。