Development Tip

TypeScript에서 정적 메서드에 액세스하는 방법

yourdevel 2020. 12. 6. 22:09
반응형

TypeScript에서 정적 메서드에 액세스하는 방법


이 작업을 시도하고 있지만 예상 한대로 작동하지 않습니다.

(AMD 옵션을 사용하고 있습니다)

//logger.ts
export class Logger {

    static log(message: string) {
        //do stuff
    }
}

//main.ts
import logger = module('services/logger');
logger.log("test"); //The property 'log' does not exist on value of type '"logger"'
logger.Logger.log(); //works

logger.log ()는 어떻게합니까?


클래스를 직접 가져올 수 있으므로 원하는 용도로 사용할 수 있습니다.

// usage
import { Logger } from 'path/logger.ts'
Logger.Log();

그리고 정의는 동일하게 유지됩니다.

// path/logger.ts
export class Logger {

    static Log() {
        ...
    }
}

이 답변은 게시 당시 정확했습니다. 이제 더 이상 사용되지 않습니다. 더 나은 현재 솔루션 Dimitris의 답변참조하십시오 .

수업을 사용하면 할 수 없습니다. 당신은 항상 전화해야 할 것입니다{module}.{class}.{function}

그러나 클래스를 모두 삭제하고 다음을 호출 할 수 있습니다 {module}.{function}.

// services/logger.ts
export function log(message:string){
 // do stuff
}

//main.ts
import logger = module('services/logger');
logger.log("test"); // Should work

참고 URL : https://stackoverflow.com/questions/16207593/how-to-access-static-methods-in-typescript

반응형