我正在使用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项目时,它会捆绑我的库的依赖项,但似乎并非如此。
我应该如何捆绑我的库,以便它的依赖项在运行时在浏览器中可用?
答案 0 :(得分:0)
我已经解决的解决方案是将库项目添加到主项目tsconfig.json中的路径。例如
{
"compilerOptions": {
"paths": {
"@my-namespace/main-project": ["./src"],
"@my-namespace/lib-project": ["../lib-project"]
}
}
这使用了build文件夹中编译的lib资源,但仍然在main build /
中捆绑了所需的模块