正如我从typescript中读到的那样你现在可以导出这样的类:
// client.ts
class Client {
constructor(public name: string, public description: string) { }
}
export = Client;
// app.ts
import MyClient = require('./client');
var myClient = new MyClient("Joe Smith", "My #1 client");
但是,有没有办法导出接口?
现在我收到一个错误说:
错误TS1003:预期的标识符。
当我尝试做这样的事情时:
// INotifier.ts
interface INotifier {
// code
}
export = INotifier;
答案 0 :(得分:4)
我在Visual Studio中尝试了这个,这对我有用,使用import
语法(答案更新以反映TypeScript语言的变化):
file1.ts
interface IPoint {
getDist(): number;
}
export = IPoint;
app.ts
// Obsolete syntax
//import example = module('file1');
// Newer syntax
import example = require('file1');
class Point implements example {
getDist() {
return 1;
}
}
附加说明:在这种情况下,您将无法使用ECMAScript 6样式导入 - 因为它们仅适用于类和模块。
//Won't work because it resolves to a "non-module entity"
import * as example from 'file1';