웹사이트 검색
우리의 NestJs 서버는 HTTP를 통해 웹소켓 핸드셰이크를 완벽하게 처리하곤 했습니다. 하지만 그 후 HTTPS 지원을 추가했고, 여기서 설명된 것처럼 여러 서버 기술을 사용하여 구현했습니다: https://docs.nestjs.com/faq/multiple-servers
그렇게 한 후에, 웹소켓 핸드셰이크(업그레이드 요청)가 작동을 멈췄습니다.
웹 소켓이 작동하는 우리가 가지고 있던 NestJs 부트스트래핑은 다음과 같았습니다:
const app = await NestFactory.create(AppModule); const webSocketAdapter = new WebSocketAdapter(app); app.useWebSocketAdapter(webSocketAdapter); [...] // We initialize expres 더 많은 것을 읽으십시오 →저는 모듈의 일부로 가드를 포함하는 NestJS 라이브러리를 만들고 있습니다,
가드에서 HTTP 오류를 던지려고 했지만, 컨트롤러에서는 컨텍스트가 손실되어 그냥 500 오류만 발생합니다.
라이브러리를 dist 빌드 대신 소스 코드로 가져오면 잘 작동합니다.
@Injectable() export class SignedUrlGuard implements CanActivate { constructor( private readonly signedUrlService: SignedUrlService, ) { } canActivate( context: ExecutionContext, ): boolean | Promise<boolean> | Observable<boolean> { const request = context.switchToHttp().ge 더 많은 것을 읽으십시오 →
그래서 현재 모듈과 그 컨트롤러들의 메타데이터를 가져와야 하는 상황을 접하게 되었습니다.
ClosedModule.ts
// all imports to AModule, BModule @Module({ imports: [ DiscoveryModule, // given by nest/core AModule, // it has a controller AController whose base path is A/ and has 1 function for @Get a1 BM 더 많은 것을 읽으십시오 →저는 서비스와 상수가 있는 두 개의 NestJS 모듈, AModule과 BModule을 가지고 있습니다.
AModule -> AService에서 저는 import { ASchemaKy } from '../const';처럼 ASchemaKey를 가져와서 생성자에서 사용합니다
import { ASchemaKey } from '../const'; export class AService { constructor(@InjectModel(ASchemaKey) private model) {} }BModule -> BService에서 생성자 안에 AService를 가져옵니다
export class BService { constructor(private aService: AService) {} }그리고 다음과 같은 오류가 발생했습니다
더 많은 것을 읽으십시오 →
저는 nestJS에 새로 왔고 main.ts에 ValidationPipe()를 추가했습니다
app.useGlobalPipes(new ValidationPipe())지금 저는 제 DTO 안에서 class-validator 데코레이터를 사용하고 있지만 지금은 아무것도 작동하지 않고 있습니다. 저는 GraphQL을 사용하고 있지만 이미 파이프를 전역적으로 구성했기 때문에 작동해야 합니다.
더 해야 할 설정이 있는데 제가 놓치고 있는 것이 있나요? 도와주세요.
더 많은 것을 읽으십시오 →예:
export class Tracking extends BaseSchema { @Prop({ required: true, index: true }) referenceNumber: string; @Prop({ type: A.schema | B.schema | C.schema}) data: A | B | C }여기서 A, B, C가 서로 다른 하위 문서 스키마라고 가정합니다. 하지만 레코드를 삽입할 때 A, B, 또는 C 형식의 데이터 중 하나를 가지게 될 것입니다. 이것을 어떻게 정의할 수 있나요?
나는 type: A.schema | B.schema | C.schema처럼 타입을 정의할 수 없습니다. 그리고 data: A | B | C처럼 정의할 수도 없습니다. 이것도 오류가 발생합니다.
더 많은 것을 읽으십시오 →저는 Nestjs 앱에서 ThisModule이라고 부르는 모듈을 가지고 작업하고 있으며, 이 모듈에는 ControllerForThisModule이라는 컨트롤러와 ServiceForThisModule이라는 서비스가 있습니다. 여기서 저는 ModelForThisModule이라는 MongoDB 모델을 주입하고 있습니다. ThisModule은 또한 OtherModule이라고 부르는 다른 모듈을 임포트하며, 여기서 저는 ModelInOtherModule이라는 모델을 주입하고 있습니다. 이제 테스트를 실행할 때 아래와 같은 오류가 발생합니다.
Nest can't resolve dependencies of the ModelInOtherModule (?). Please make sure that the argument DatabaseConnection at index [0] is available in the MongooseModule context. Potent 더 많은 것을 읽으십시오 →
저는 Nest.js로 동적 모듈을 만들고 싶습니다. 이 모듈은 이 함수에서 초기화된 변수를 애플리케이션의 나머지 부분에서 제공하는 것을 목표로 합니다.
이 변수는 내 환경 변수에 따라 초기화되어야 하며, 내 프로젝트의 .env 파일에 저장되어 있습니다.
서비스에서 접근하려고 하면 문제가 없습니다 (process.env와 ConfigModule 주입과 함께).
하지만 내가 정적 함수 forRoot에서 그것을 수행하고 싶을 때, 문제의 환경 변수는 null입니다.
.env 파일
더 많은 것을 읽으십시오 →요약:
저는 동일한 테이블을 상속하는 여러 엔티티와 단일 관계를 만들고 싶습니다. 그렇게 하려면 관계에 참여하는 엔티티를 지정해야 하고, 여러 개를 지정하고 싶습니다. 지정된 타입이 동일한 테이블을 상속하더라도 여러 타입과의 관계는 불가능한 것 같습니다. 이것이 가능할까요, 가능하다면 제가 무엇을 잘못하고 있는 걸까요?
전체 설명:
저는 기본 엔터티로 Task 엔터티를 가지고 있습니다. 이 질문의 목적상, 따라가기가 쉽도록 대부분의 불필요한 열은 제거할 것입니다.
import { Column, Entity, TableInheritance } from 'typeorm'; @Entity('tasks') @TableInheritance({ column: { type: 'varchar', name: 'type' } }) export class Task 더 많은 것을 읽으십시오 →저는 Nodejs/NestJs로 작업하고 있으며, 현재 xlsx 파일을 생성하려고 하고 있습니다(이 시점에서는 제 코드가 정확한지 확실하지 않습니다). 이제 이 파일을 응답으로 보내고 싶지만, 어떻게 수행해야 할지 모르겠습니다. @Res 데코레이터에 대해 읽어보았지만, 응답에 파일을 첨부하는 방법에 대한 자료는 찾지 못했습니다. 혹시 아이디어가 있으신가요? 감사합니다 :)
서비스 :
downloadFile(file: number) { this.files .findOne({ attributes: ['content'], where: { id: file }, }) .then((response) => { const book: XLSX.WorkBook = XLSX.read(response.content, { type: 'base6 더 많은 것을 읽으십시오 →