Interface typescript 0.9接口导出。可能吗?
正如我从typescript中读到的,现在您可以导出如下类:Interface typescript 0.9接口导出。可能吗?,interface,typescript,Interface,Typescript,正如我从typescript中读到的,现在您可以导出如下类: // client.ts class Client { constructor(public name: string, public description: string) { } } export = Client; // app.ts import MyClient = require('./client'); var myClient = new MyClient("J
// 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");
// INotifier.ts
interface INotifier {
// code
}
export = INotifier;
但是,有什么方法可以导出接口吗
现在我得到一个错误,说:
错误TS1003:应为标识符
当我尝试这样做时:
// 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");
// INotifier.ts
interface INotifier {
// code
}
export = INotifier;
我在VisualStudio中尝试过这一点,使用
import
语法(答案已更新,以反映TypeScript语言中的更改),这一点对我很有用:
文件1.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';
我在VisualStudio中尝试过这一点,使用
import
语法(答案已更新,以反映TypeScript语言中的更改),这一点对我很有用:
文件1.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';
但是,导出接口目前在VisualStudio中不提供Intellisense。您必须执行:
var r:IPoint;出口=r
以获取Intellisense。但是,导出接口当前在Visual Studio中不提供Intellisense。您必须执行:var r:IPoint;出口=r代码>以获取智能感知。