我们说我有这三个文件:
moduleA.ts:
export const foo = 42;
moduleB.ts:
module TestModules {
export const bar = 43;
}
moduleC.ts:
import './moduleA';
module TestModules {
console.log(TestModules.bar);
}
当我尝试编译时,出现moduleC.ts(4,29): error TS2339: Property 'bar' does not exist on type 'typeof TestModules'.
错误。
为什么?
我知道混合命名空间和模块不是很好但是如果我有一个相当大的旧式TypeScript项目并且我想开始使用ES6风格的模块怎么办?
答案 0 :(得分:1)
好的,在这个问题中解释过:https://github.com/Microsoft/TypeScript/issues/909。
TL; DR:不要混合内部和外部模块。它没有用。
对于较旧的项目来说,这很糟糕:他们几乎坚持使用内部模块,否则 - 好运重构。