아 그거 뭐였지

[NestJs] typorm SyntaxError: Cannot use import statement outside a module 에러해결 본문

Back-End

[NestJs] typorm SyntaxError: Cannot use import statement outside a module 에러해결

승발자 2022. 10. 3. 02:01
728x90
반응형

NestJs에서 TypeOrm으로 데이터베이스 연결하던도중 

SyntaxError: Cannot use import statement outside a module 에러가 떴다.

typeorm 라이브러리도 잘 설치했고 오타도 없는것같은데 계속 에러가났다.

삽질을 열심히 하던도중 스택오버플로우에 검색해보니 typeorm초기설정시 경로를 잘못지정해줘서 생긴 오류라고한다.

 

수정하기전 코드에서는 entities에 모든경로에있는 entity.ts들을 가져올수있게했는데 이것이 오류가난것같다.

TypeOrmModule.forRoot({
  type: 'mysql',
  host: env.DATABASE_HOST,
  port: 3306,
  username: env.DATABASE_ID,
  password: env.DATABASE_PASSWORD,
  database: env.DATABASE_NAME,
  entities: [__dirname + '/../**/*.entity{.ts,.js}'],
  synchronize: true,
}),

 

해당 경로를 가진 entity를 직접 넣어주었더니 잘 된다.

import { User } from './user/user.entity';

TypeOrmModule.forRoot({
  type: 'mysql',
  host: env.DATABASE_HOST,
  port: 3306,
  username: env.DATABASE_ID,
  password: env.DATABASE_PASSWORD,
  database: env.DATABASE_NAME,
  entities: [User],
  synchronize: true,
}),

혹은 아래와 같이 입력하면된다.

entities: ["dist/**/*.entity.js"]

 

참고글

NESTJS의 TypeORM 엔티티 - 모듈 외부에서 import 문을 사용할 수 없음 - 스택 오버플로 (stackoverflow.com)

 

TypeORM Entity in NESTJS - Cannot use import statement outside a module

Started new project with 'nest new' command. Works fine until I add entity file to it. Got following error: import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm'; ^^^^^^

stackoverflow.com

 

728x90
반응형
Comments