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