【问题标题】:I got an error at compile Nestjs with typeorm我在用 typeorm 编译 Nestjs 时出错
【发布时间】: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

标签: mysql typescript backend nestjs typeorm


【解决方案1】:

尝试将 ORM 配置文件中的 entities 更改为:

"entities": ["dist/Entidades/*.entity{.ts,.js}"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-25
    • 2021-11-27
    • 2021-04-23
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2021-04-28
    • 2020-12-29
    相关资源
    最近更新 更多