Monorepo和构建软件包的问题

时间:2020-09-03 17:42:04

标签: node.js reactjs yarnpkg craco

我尝试使用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

有什么想法可能会丢失吗?

1 个答案:

答案 0 :(得分:0)

事实证明,Deepmerge软件包和TSX是一个问题,有关导入问题的长篇文章可以在这里找到:https://github.com/TehShrike/deepmerge/issues/87我用lodash merge替换了它,然后重新构建了我的软件包。