Nestjs 为什么我的TypeForm无法在产品模式下连接数据库?

Nestjs 为什么我的TypeForm无法在产品模式下连接数据库?,nestjs,typeorm,Nestjs,Typeorm,我正在使用Nest.js+TypeORM开发并尝试在我的计算机中部署 我可以在开发模式下连接mysql,但在产品模式下失败了 下面是我的类型配置 @Module({ imports: [ AuthModule, ClassificationModule, ArticleModule, UserModule, CommentModule, FragmentModule, TypeOrmModule.forRoot({ type

我正在使用Nest.js+TypeORM开发并尝试在我的计算机中部署

我可以在开发模式下连接mysql,但在产品模式下失败了

下面是我的类型配置

@Module({
  imports: [
    AuthModule,
    ClassificationModule,
    ArticleModule,
    UserModule,
    CommentModule,
    FragmentModule,
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      // logging: ["query"],
      port: 3306,
      username: 'root',
      password: '123456',
      database: 'myblog',
      entities: ['src/**/**.entity{.ts,.js}'],
      synchronize: true
    })
  ]
})
export class AppModule { }
在开发模式下,可以成功连接到mysql

但在产品模式下,它显示无法连接mysql

ts节点在内存中管理您的typescript编译,并在内部处理从src到dist的引用更改。然而,当您开始运行纯节点变量时,这是一个问题,因为您将位于dist目录而不是src目录中,因此TypeORM将无法找到具有已定义实体数组的实体。相反,您应该使用实体:[join_udirname,'/***/*.entity.{js,ts}'],以允许在ts和js之间动态更改,这样您就不必担心运行的是什么

我还建议使用tsc watch for develpoment,因为它将在成功编译时默认运行node,您不必担心ts node的内存消耗。

ts node在内存中管理您的typescript编译,并在内部处理从src到dist的引用的更改。然而,当您开始运行纯节点变量时,这是一个问题,因为您将位于dist目录而不是src目录中,因此TypeORM将无法找到具有已定义实体数组的实体。相反,您应该使用实体:[join_udirname,'/***/*.entity.{js,ts}'],以允许在ts和js之间动态更改,这样您就不必担心运行的是什么

我还建议使用tsc watch for develpoment,因为它在成功编译时默认运行node,您不必担心ts node的内存消耗