Nx Workspace+Nest.js场景下实现每个库生成独立bundle的问题咨询
解决方案
调整应用构建配置实现多文件输出
默认执行nx build api时会启用webpack单bundle打包逻辑,所有代码会被合并到单个main.js中,修改配置即可关闭该特性:
- 打开
apps/api/project.json文件,定位到targets.build.options配置段 - 新增/修改以下配置项:
{ "bundleDependencies": false, "externalDependencies": "all", "generatePackageJson": true } - 重新执行
nx build api,构建产物会保留原始目录结构,所有依赖库的代码会按原路径输出对应的独立.js文件,你可以直接将实体对应的dist路径配置到ormconfig.json中即可满足typeorm migration的调用要求
单独构建实体库(可选方案)
如果你的typeorm实体存放在独立的nx库中,可以直接针对该库单独执行构建输出独立bundle:
- 打开对应实体库的
project.json文件,确认构建器配置为@nrwl/js:tsc - 执行
nx build [你的实体库名称],构建产物会输出到dist/libs/[库路径]目录下 - 直接在
ormconfig.json中配置该路径下的.js实体文件即可
内容的提问来源于stack exchange,提问作者lasagna-coder
相关产品推荐
相关产品推荐

