我在用 typeorm 编译 Nestjs 时出错
Posted
技术标签:
【中文标题】我在用 typeorm 编译 Nestjs 时出错【英文标题】:I got an error at compile Nestjs with typeorm 【发布时间】:2021-08-21 23:28:28 【问题描述】:将 entity.ts 添加到项目中时出现错误
这里是ts文件:
import Column, Entity, PrimaryGeneratedColumn from "typeorm";
@Entity('Usuario')
export class UsuarioIdentity
@PrimaryGeneratedColumn() id: number;
@Column('text') username: string;
@Column('text') password: string;
我的 ormconfig:
"type": "mysql",
"host": "localhost",
"port": "3306",
"username": "root",
"password": "password",
"database": "blogdb",
"synchronize": true,
"logging": true,
"entities": ["src/Entidades/*.entity.ts,.js", "dist/Entidades/*.entity.ts,.js"]
错误:
[Nest] 21736 - 2021-06-03 3:04:09 PM [NestFactory] Starting Nest application... [Nest] 21736 - 2021-06-03 3:04:09 PM [InstanceLoader] TypeOrmModule dependencies initialized >+148ms [Nest] 21736 - 2021-06-03 3:04:09 PM [InstanceLoader] AppModule dependencies initialized +2ms [Nest] 21736 - 2021-06-03 3:04:09 PM [TypeOrmModule] Unable to connect to the database. Retrying (1)... +21ms import Column, Entity, PrimaryGeneratedColumn from "typeorm"; ^ SyntaxError: Unexpected token at Module._compile (internal/modules/cjs/loader.js:721:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:690:17) at require (internal/modules/cjs/helpers.js:25:18) at E:\Proyectos_ejemplos\React- NestJS\Back2\node_modules\typeorm\util\DirectoryExportedClassesLoader.js:42:39 at Array.map (<anonymous>) at Object.importClassesFromDirectories (E:\Proyectos_ejemplos\React- NestJS\Back2\node_modules\typeorm\util\DirectoryExportedClassesLoader.js:42:10)
如果我评论实体或删除它,一切正常。 我正在使用 NestJS 7.6.15 和 typeorm 0.2.34
请帮帮我:D
更新
这是我的 tsconfig,我想应该是 outDir
"compilerOptions":
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true
【问题讨论】:
您使用哪个命令来启动应用程序?顺便说一句,请向我们展示您的 tsconfig 文件 我使用 'npm run start' 并且我刚刚添加了我的 tsconfig 【参考方案1】:尝试将 ORM 配置文件中的 entities
更改为:
"entities": ["dist/Entidades/*.entity.ts,.js"]
【讨论】:
以上是关于我在用 typeorm 编译 Nestjs 时出错的主要内容,如果未能解决你的问题,请参考以下文章
播种时NestJS中的TypeOrm:RepositoryNotFoundError
错误:使用 Nestjs + Graphql + Typeorm 时无法确定 GraphQL 输入类型
TypeError:存储库方法不是函数(NestJS / TypeORM)
NestJS、PortsgreSQL 和 TypeORM - 迁移运行不正常