programing

글로벌 스코프의 확대는 외부 모듈 또는 주변 모듈 선언에만 직접 중첩할 수 있습니다(2669).

telecom 2023. 4. 5. 21:16
반응형

글로벌 스코프의 확대는 외부 모듈 또는 주변 모듈 선언에만 직접 중첩할 수 있습니다(2669).

노드를 저장하려고 합니다.글로벌 스코프의 JS 설정.

stackoverflow의 node.discript 및 기타 솔루션에서 => Extending TypeScript Global 개체를 따라가려고 했습니다.

나는 다음 코드를 가진 global.d.ts라는 파일을 만들었다.

declare global {
    namespace NodeJS {
      interface Global {
          config: MyConfigType
      }
    }
  }

글로벌 스코프의 확대는 외부 모듈 또는 주변 모듈 선언에만 직접 중첩할 수 있습니다.ts(2669)

하지만 이렇게 하면 괜찮아 =>

declare module NodeJS  {
    interface Global {
        config: MyConfigType
    }
}

문제는 파일을 Import해야 한다는 것입니다.MyConfigType설정을 입력할 수 있지만 두 번째 옵션에서는 입력할 수 없습니다.

다음과 같이 파일이 모듈임을 나타낼 수 있습니다.

export {};

declare global {
    namespace NodeJS {
        interface Global {
            config: MyConfigType
        }
    }
}

또는 브라우저 컨텍스트 내에 글로벌유형을 추가하려는 경우:

export {};

declare global {
  interface Window {
    ENV: any;
  }
}

언급URL : https://stackoverflow.com/questions/57132428/augmentations-for-the-global-scope-can-only-be-directly-nested-in-external-modul

반응형