bat*_*anz 49 typescript typescript1.5
我正在使用TypeScript 1.5 beta,而我正在尝试将接口导出为默认导出.以下代码导致Visual Studio和WebStorm中的错误:
export default interface Foo {...}
Run Code Online (Sandbox Code Playgroud)
但是,以下代码工作正常:
interface Foo {...}
export default Foo;
Run Code Online (Sandbox Code Playgroud)
这是设计,是一个错误,还是我做错了什么?
编辑:谢谢你的回答.然而,这引出了一个问题,那么使用ES6模块语法导入接口的可接受方式是什么?
这有效:
// Foo.ts
export interface Foo {}
// Bar.ts
import {Foo} from 'Foo'; // Notice the curly braces
class Bar {
constructor(foo:Foo) {}
}
Run Code Online (Sandbox Code Playgroud)
但是,既然这样可行,为什么不允许默认导出并保存花括号?
// Foo.ts
export default interface Foo {}
// Bar.ts
import Foo from 'Foo'; // Notice, no curly braces!
class Bar {
constructor(foo:Foo) {}
}
Run Code Online (Sandbox Code Playgroud)
Sha*_*tin 17
TypeScript v2.4.0允许export default interface.以下是引入更改的pull-request.
我们现在可以做到这两点:
// Foo.ts
export interface Foo { }
// Bar.ts
export default interface Bar { }
// Baz.ts
import { Foo } from "./foo";
import Bar from "./bar";
export class Baz implements Foo, Bar
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26860 次 |
| 最近记录: |