引用嵌套的TypeScript模块
Referencing nested TypeScript modules
我有以下情况:
/*file A/Z.ts*/
///<reference path="B/Y.ts"/>
module A{
import Y = B.Y;
export class Z{
//use class Y
}
}
/*file A/B/Y.ts*/
///<reference path="../Z.ts"/>
module A.B{
import Z = A.Z;
export class Y{
//use class Z
}
}
这似乎编译好,但我得到javascript问题。当在chrome开发控制台调用var y = new Y()
时,我得到:Uncaught TypeError: undefined is not a function
,并在生成的JavaScript中查看IntelliJ代码检查注意到B
是私有的,不可访问。
值得注意的是,我所有的.ts都被编译成一个文件。
编辑:进一步检查,这是一个订购问题。在生成的javascript中移动声明可以修复javascript错误。只有当我开始在模块中包装我的类时,这个问题才出现。也就是说,顺序是很好的预模块,让我假设我所有的ref都是好的。
TSC版本为1.5.0-beta
我认为这是一个排序问题。我通过重新检查我的///<reference path=""/>
语句并从Y.ts
中删除///<reference path="../Z.ts"/>
来解决这个问题。
读完这篇文章后似乎不需要它,因为编译器在这个阶段已经加载了Z.ts
,包含它只是改变了顺序。
相关文章:
- Typescript模块没有导出的成员-react
- TypeScript代码类似于揭示模块模式结构
- Visual Studio 2015 Update 2-'中的TypeScript模块;要求'未定义
- 模块的TypeScript导入导出行为
- Javascript:Webpack+Typescript+Namespace(内部模块)
- 使用requirejs对延迟加载成员模块进行Typescript
- Typescript中的引用和模块
- Typescript,需要模块作为类
- 可以Typescript导入CommonJS模块
- 可以't在不提供文件扩展名的情况下导入TypeScript模块
- Typescript:从CommonJS模块导入默认值,从打字文件导出附加类型
- Typescript 0.9.1.1模块被拆分为几个.ts文件
- Typescript坚持认为;不是模块”;
- TypeScript:导入的模块未编译
- Typescript模块和systemjs.从内联脚本实例化类
- Electron和Typescript:如何在运行时正确处理模块
- Typescript子命名空间和环境模块
- 如何从TypeScript编译中现有的AMD js类继承到AMD模块
- 通过 RequireJS 从 javascript 调用 TypeScript 模块
- TypeScript:从模块创建全局变量