创建反应应用程序,纱线工作区依赖性问题

时间:2018-05-11 05:09:11

标签: typescript create-react-app yarn-workspaces

我正在使用create-react-app,typescript和yarn工作区构建一个多模块项目。

结构是:

package.json
packages
  - create-react-app-project
  - other-lib-project
    - tsconfig.json
    - package.json
    - src/
    - dist/

lib项目构建正常,但是当我运行它时,我收到以下错误:

Unhandled Rejection (TypeError): Cannot read property 'random' of undefined

随机是faker的财产。在编译输出中,faker的import语句显示为:

var faker_1 = require("faker");

我认为当webpack编译create react app项目时,它会捆绑我的库的依赖项,但似乎并非如此。

我应该如何捆绑我的库,以便它的依赖项在运行时在浏览器中可用?

1 个答案:

答案 0 :(得分:0)

我已经解决的解决方案是将库项目添加到主项目tsconfig.json中的路径。例如

{
  "compilerOptions": {
    "paths": {
      "@my-namespace/main-project": ["./src"],
      "@my-namespace/lib-project": ["../lib-project"]
    }
}

这使用了build文件夹中编译的lib资源,但仍然在main build /

中捆绑了所需的模块