0

我正在使用 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 的导入语句显示为:

var faker_1 = require("faker");

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

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

4

1 回答 1

0

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

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

这使用了 build 文件夹中已编译的 lib 资产,但仍将所需的模块捆绑在主 build/

于 2018-05-13T23:06:08.843 回答