NX工作区下NestJS集成TypeORM生成Migration时出现Emit skipped报错求助
NX多模块工作区TypeORM迁移生成报错
- 项目基于TypeScript技术栈搭建,使用NX管理工作区结构,拆分独立应用与公共库两类模块
- 业务侧在NestJS应用中集成TypeORM,尝试生成数据库迁移文件时执行失败
现有配置清单
ormconfig.json(TypeORM CLI配置)
{ "type": "postgres", "host": "localhost", "port": 5432, "username": "***", "password": "***", "database": "***", "synchronize": false, "logging": true, "entities": [ "apps/api/src/app/**/*.entity.ts", ], "cli": { "migrationsDir": "apps/api/src/migration" } }
package.json(迁移执行脚本)
"typeorm": "./node_modules/.bin/ts-node --project apps/api/tsconfig.app.json -r tsconfig-paths/register ./node_modules/.bin/typeorm", "typeorm:migration:run": "yarn typeorm migration:run", "typeorm:migration:generate": "yarn typeorm migration:generate -n PostRefactoring", "typeorm:migration:create": "yarn typeorm migration:create -n PostRefactoring"
执行迁移生成命令时的报错栈
TypeError: apps/api/src/app/folder1/myEntity.entity.ts: Emit skipped at getOutput (.../node_modules/ts-node/src/index.ts:755:17) at Object.compile (.../node_modules/ts-node/src/index.ts:968:32) at Module.m._compile (.../node_modules/ts-node/src/index.ts:1056:42) at Module._extensions..js (internal/modules/cjs/loader.js:1153:10) at Object.require.extensions.<computed> [as .ts] (.../node_modules/ts-node/src/index.ts:1059:12) at Module.load (internal/modules/cjs/loader.js:977:32) at Function.Module._load (internal/modules/cjs/loader.js:877:14) at Module.require (internal/modules/cjs/loader.js:1019:19) at require (internal/modules/cjs/helpers.js:77:18) at .../src/util/DirectoryExportedClassesLoader.ts:41:22
项目相关特性说明
项目通过NX的路径别名机制管理公共库模块引用,实体文件中会通过别名导入公共依赖,导入格式类似import { ... } from '@xxx/yyy',其中@xxx/yyy对应当前公共库模块配置的路径别名。目前执行迁移生成操作会稳定触发上述报错,需要对应的可行修复方案。
内容的提问来源于stack exchange,提问作者Reutan
相关产品推荐
相关产品推荐

