我正在努力做到这一点,但它并没有像我期望的那样发挥作用。
(我正在使用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()?
答案 0 :(得分:145)
您可以直接导入类,这样您就可以获得所需的用法。
// usage
import { Logger } from 'path/logger.ts'
Logger.Log();
定义保持不变。
// path/logger.ts
export class Logger {
static Log() {
...
}
}
答案 1 :(得分:12)
这个答案在发布时是正确的。它已被弃用。有关更好的当前解决方案,请参阅Dimitris' answer。
使用课程,你不能。你总是要打电话给{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