1. ホーム
  2. typescript

TypeScriptで静的メソッドにアクセスする方法

2023-09-26 15:35:42

質問

これを実行しようとしているのですが、思ったようにいきません。

(私は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() {
        ...
    }
}