Typescript 1.5 模块导入导出错误
Posted
技术标签:
【中文标题】Typescript 1.5 模块导入导出错误【英文标题】:Typescript 1.5 modules import export errors 【发布时间】:2015-07-19 21:01:08 【问题描述】:我在 typescript 项目中重新导出时遇到问题
我有图层类,我这样声明它:
// Layer.ts
export default class Layer//code
我还有另一个文件可以重新导出所有相关文件
// layers.ts
export Layer from "./Layer";
编译时出现以下错误:
src/layer/layers.ts(1,14): error TS1005: ';' expected.
src/layer/layers.ts(1,19): error TS1005: ';' expected.
src/layer/layers.ts(2,1): error TS1128: Declaration or statement expected.
src/layer/layers.ts(2,24): error TS1005: ';' expected.
src/layer/layers.ts(2,29): error TS1005: ';' expected.
还有另一个相关的错误: 使用 export 关键字声明接口时,如下所示:
export default interface MyInterface<V>
method():V;
我再次收到此错误:
MyInterface.ts(1,26): error TS1005: ';' expected.
【问题讨论】:
【参考方案1】:对于第一部分:
export default as Layer from './Layer';
对于第二部分,不能将接口导出为default
,因为生成的 javascript 代码中没有任何内容表示接口。
所以去掉默认关键字:
export interface MyInterface<V>
method():V;
使用 ES6 模块语法导入可能如下所示:
import MyInterface from './MyInterface';
class A implements MyInterface<string>
【讨论】:
谢谢,这应该记录在案...这是 ecma6 脚本规范还是 ts 选择?我本来希望export Layer from './Layer';
工作,因为它是默认设置。以上是关于Typescript 1.5 模块导入导出错误的主要内容,如果未能解决你的问题,请参考以下文章
如何从 javascript/typescript 模块文件(导入/导出)访问 Vuex 商店?