Hwan-seok / word-chain-nest

끝말 이어버리기 서비스 -
0 stars 0 forks source link

Sequelize 사용시 Nest dependency 문제 #4

Closed Hwan-seok closed 5 years ago

Hwan-seok commented 5 years ago

문제

word.entitiy.ts


import { Table, Column, Model, PrimaryKey } from 'sequelize-typescript';

@Table export class Word extends Model { @PrimaryKey @Column id: number;

@Column word: string;

@Column part: string; }

> word.module.ts
```ts
import { Module } from '@nestjs/common';
import { WordService } from './word.service';
import { wordsProviders } from './word.providers';
import { DatabaseModule } from '../database/database.module';
@Module({
  imports: [DatabaseModule],
  providers: [WordService, ...wordsProviders],
  exports: [WordService],
})
export class WordModule {}

word.providers.ts


import { Word } from './word.entity';

export const wordsProviders = [ { provide: 'WORDS_REPOSITORY', useValue: Word, }, ];

> word.service.ts
```ts
import { Injectable, Inject } from '@nestjs/common';
import { Word } from './word.entity';

@Injectable()
export class WordService {
  constructor(
    @Inject('WORD_REPOSITORY') private readonly WORD_REPOSITORY: typeof Word,
  ) {}
  async findOne(): Promise<Word> {
    return await this.WORD_REPOSITORY.findOne<Word>();
  }
}
[ExceptionHandler] Nest can't resolve dependencies of the WordService (?). Please make sure that the argument at index [0] is available in the WordModule context. +8ms
Error: Nest can't resolve dependencies of the WordService (?). Please make sure that the argument at index [0] is available in the WordModule context.
    at Injector.lookupComponentInExports (C:\Users\hwanseok.kang\Desktop\lining\node_modules\@nestjs\core\injector\injector.js:183:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at Function.Module.runMain (internal/modules/cjs/loader.js:757:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

추정

Hwan-seok commented 5 years ago
Hwan-seok commented 5 years ago

해결...