How to access static methods in TypeScript

Solution 1:

You can import classes directly, which allows you to have the usage you want.

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

And the definition stays the same.

// path/logger.ts
export class Logger {

    static Log() {
        ...
    }
}

Solution 2:

This answer was correct at time of posting. It is now deprecated. See Dimitris' answer for a better current solution.

Using a class, you can't. You're always going to have to call {module}.{class}.{function}

But you can drop the class altogether and just call {module}.{function}:

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

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