1

出于好奇,我想知道:为什么 Typescript 中的编译器不允许这样的事情?有安全隐患吗?它会导致语法问题吗?

export import Bar = require('./Path/To/Bar'); // this is allowed

module Foo {
    export import Bar = require('./Path/To/Bar'); // this is not allowed
}

目前,这会导致以下错误:

Import declarations in an internal module cannot reference an external module.
4

1 回答 1

1

所有功能都从 -100 开始。原则上,编译器可以通过检查 RHS 来区分外部模块导入和内部模块导入,但实际上绝大多数外部模块导入无论如何都希望处于顶层,然后我们必须弄清楚当模块导出其导入时,从可见性的角度来看这意味着什么(对于 AMD,甚至不清楚这是否有意义)。

于 2013-10-22T19:20:44.180 回答