2017-12-18 136 views
0

想我一个模块限制变量声明模块

declare global { 
    var SomeVar: {}; 
} 

在写现在,任何模块可以使用“SomeVar”全局变量。 我想限制只输入到当前文件。

可能吗?

回答

1

如果你是一个模块中,你可以使用:

declare var SomeVar: {}; 

而且SomeVar将只在该模块/文件中可用。

我需要引用不是来自我的模块的全局。

正如你可以从下面的例子中看到,一些模块拍摄,你可以在模块内同时使用SomeVarASomeVarB

declare global { 
    var SomeVarA: {}; 
} 

declare var SomeVarB: {}; 

const a = SomeVarA; 
const b = SomeVarB; 

这两个声明可以代表一个全局变量的,唯一的区别是,SomeVarB在程序中的任何其他模块可见的,而SomeVarA是。

例如,在另一个模块将出现以下情况...

// OK 
const a = SomeVarA; 

// Cannot find name 'SomeVarB'. Did you mean 'SomeVarA'? 
const b = SomeVarB; 
+0

我需要引用一些全球性,是不是从我的模块。 –

+0

嗨@NN_我已经添加了一个扩展的解释来说明这一点。 – Fenton