TypeScript : 컴파일 된 JavaScript에서 require 문을 사용하지 마십시오.

베니 노게 바우어

내 TypeScript 코드에서 다음 과 같이 bunyan 이라는 타사 라이브러리를 사용하고 있습니다 .

private logger: bunyan.Logger = bunyan.createLogger({name: "MyClass"});

TypeScript는 변수를 확인할 수 없기 때문에 TypeScript bunyan컴파일러가 작동하도록하기 위해 이렇게합니다.

import * as bunyan from "bunyan";

불행히도 이로 인해 다음 JavaScript 출력이 발생합니다.

var bunyan = require("bunyan");

require명령문은 브라우저에서 작동하지 않으므로 ( Requirejs 구현을 사용하지 않는 경우 ) 다음을 받게됩니다 Uncaught ReferenceError: require is not defined..

실제로 나는 브라우저에 사용할 수 require있는 bunyan.min.js(브라우저 버전) 이 있기 때문에 컴파일 된 자바 스크립트 에이 문장이 필요하지 않습니다 . 그러나 TypeScript 컴파일러가 알 수없는 참조에 대해 불평하지 않고 TypeScript 코드에서 bunyan 가져 오기를 피할 수있는 방법은 무엇입니까?

TypeScript 1.8을 사용하고 있으며 이것은 TypeScript 컴파일러 구성입니다.

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noImplicitAny": false,
    "removeComments": true,
    "target": "es5"
  },
  "exclude": [
    "node_modules",
    "typings/browser",
    "typings/browser.d.ts"
  ]
}
제임스 몽거

with 및에 declare대한 모듈을 선언 하려면 사용해야 합니다 .bunyanLoggercreateLogger

declare module bunyan {
    export interface Logger {
        info(message: string): any;
        warn(message: string): any;
    }

    export function createLogger(options: any): Logger;
};

class MyClass {
    private logger: bunyan.Logger = bunyan.createLogger({name: "MyClass"});
}

TypeScript 의 모든 이점을 얻을 수 있도록 여기에있는 것과 같은 유형 지정 선언 파일을 사용하는 것이 좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동일한`with` 안에 중첩 된 경우`with` 문을 실행하지 마십시오.

분류에서Dev

두 파일 사이에서 발견 된 경우 동일한 문자열을 다시 인쇄하지 마십시오.

분류에서Dev

스타일에 아이템을 사용하지 마십시오

분류에서Dev

마지막 파일을 가져 와서 jcl 변수로 사용하십시오.

분류에서Dev

Windows 10에서 감염된 파일을 마우스 오른쪽 버튼으로 클릭하십시오.

분류에서Dev

자바 라이브러리 생성-테스트를 위해 Gradle 종속성을 추가하되 컴파일 된 라이브러리에 포함시키지 마십시오 (또는 재정의 가능하게 만드십시오).

분류에서Dev

Websphere REST 업로드-업로드 된 파일을 메모리에로드하지 마십시오.

분류에서Dev

TypeScript 컴파일러가 공용체 형식 인수에서 필터링 된 형식을 제거하지 못함

분류에서Dev

writeLines를 사용할 때 파일 끝에 빈 줄을 사용하지 마십시오.

분류에서Dev

웹 사이트에서 regex를 사용하여 찾은 모든 이미지 파일을 내 컴퓨터의 지정된 디렉토리에 파이썬으로 다운로드하십시오.

분류에서Dev

Spring Boot를 사용하여 Excel 파일을 읽는 동안 MySQL에 중복을 삽입하지 마십시오.

분류에서Dev

Linux에서 파일을 복사하고 대상에 파일이 있으면 복사하지 마십시오.

분류에서Dev

NuGet 패키지의 XML 문서 파일을 bin으로 복사하지 마십시오.

분류에서Dev

TypeScript에서 생성 된 Require define에 비 TypeScript JS 파일 포함

분류에서Dev

Spring Batch에서 동일한 파일을 두 번 처리하지 마십시오.

분류에서Dev

연결된 CTE에서 열 이름을 다시 입력하지 마십시오.

분류에서Dev

UITableView에서 일부 행을 삭제하지 마십시오.

분류에서Dev

명확하게 형식화 된 Typescript를 사용한 Visual Studio 컴파일 문제

분류에서Dev

동일한 페이지에 표시된 동일한 기능을 사용하여 결과를 곱하십시오.

분류에서Dev

Gulp에서 Typescript에서 컴파일 된 javascript 파일을 어떻게 제외 할 수 있습니까?

분류에서Dev

Proguard에서 하드 코딩 된 문자열을 난독 화하지 마십시오.

분류에서Dev

Bash 스크립트에서 PDF 파일에 속성을 추가 할 때 임시 파일을 사용하지 마십시오.

분류에서Dev

MySQL에서 그룹화 된 항목을 선택하지 마십시오

분류에서Dev

SQL 삽입에서 미리 정의 된 값을 반복하지 마십시오.

분류에서Dev

malloc 문제가있는 Ubuntu에서 교차 컴파일을 사용하여 arm 용 powertop 컴파일 시도

분류에서Dev

따옴표를 포함하고 Bash에서 변수로 지정된 파일 이름을 인용하십시오.

분류에서Dev

Webpack 출력 컴파일 된 typescript를 (javascript) 문자열로

분류에서Dev

파이썬을 사용하여 목록의 문자열에서 마지막 두 문자를 제거하십시오.

분류에서Dev

다른 파이프 라인에서 'git push'를 사용할 때 Azure Pipeline을 트리거하지 마십시오.

Related 관련 기사

  1. 1

    동일한`with` 안에 중첩 된 경우`with` 문을 실행하지 마십시오.

  2. 2

    두 파일 사이에서 발견 된 경우 동일한 문자열을 다시 인쇄하지 마십시오.

  3. 3

    스타일에 아이템을 사용하지 마십시오

  4. 4

    마지막 파일을 가져 와서 jcl 변수로 사용하십시오.

  5. 5

    Windows 10에서 감염된 파일을 마우스 오른쪽 버튼으로 클릭하십시오.

  6. 6

    자바 라이브러리 생성-테스트를 위해 Gradle 종속성을 추가하되 컴파일 된 라이브러리에 포함시키지 마십시오 (또는 재정의 가능하게 만드십시오).

  7. 7

    Websphere REST 업로드-업로드 된 파일을 메모리에로드하지 마십시오.

  8. 8

    TypeScript 컴파일러가 공용체 형식 인수에서 필터링 된 형식을 제거하지 못함

  9. 9

    writeLines를 사용할 때 파일 끝에 빈 줄을 사용하지 마십시오.

  10. 10

    웹 사이트에서 regex를 사용하여 찾은 모든 이미지 파일을 내 컴퓨터의 지정된 디렉토리에 파이썬으로 다운로드하십시오.

  11. 11

    Spring Boot를 사용하여 Excel 파일을 읽는 동안 MySQL에 중복을 삽입하지 마십시오.

  12. 12

    Linux에서 파일을 복사하고 대상에 파일이 있으면 복사하지 마십시오.

  13. 13

    NuGet 패키지의 XML 문서 파일을 bin으로 복사하지 마십시오.

  14. 14

    TypeScript에서 생성 된 Require define에 비 TypeScript JS 파일 포함

  15. 15

    Spring Batch에서 동일한 파일을 두 번 처리하지 마십시오.

  16. 16

    연결된 CTE에서 열 이름을 다시 입력하지 마십시오.

  17. 17

    UITableView에서 일부 행을 삭제하지 마십시오.

  18. 18

    명확하게 형식화 된 Typescript를 사용한 Visual Studio 컴파일 문제

  19. 19

    동일한 페이지에 표시된 동일한 기능을 사용하여 결과를 곱하십시오.

  20. 20

    Gulp에서 Typescript에서 컴파일 된 javascript 파일을 어떻게 제외 할 수 있습니까?

  21. 21

    Proguard에서 하드 코딩 된 문자열을 난독 화하지 마십시오.

  22. 22

    Bash 스크립트에서 PDF 파일에 속성을 추가 할 때 임시 파일을 사용하지 마십시오.

  23. 23

    MySQL에서 그룹화 된 항목을 선택하지 마십시오

  24. 24

    SQL 삽입에서 미리 정의 된 값을 반복하지 마십시오.

  25. 25

    malloc 문제가있는 Ubuntu에서 교차 컴파일을 사용하여 arm 용 powertop 컴파일 시도

  26. 26

    따옴표를 포함하고 Bash에서 변수로 지정된 파일 이름을 인용하십시오.

  27. 27

    Webpack 출력 컴파일 된 typescript를 (javascript) 문자열로

  28. 28

    파이썬을 사용하여 목록의 문자열에서 마지막 두 문자를 제거하십시오.

  29. 29

    다른 파이프 라인에서 'git push'를 사용할 때 Azure Pipeline을 트리거하지 마십시오.

뜨겁다태그

보관