为了使Transcrypt Python to JavaScript 编译器适合使用 ES6 模块,我必须实现 Pythonglobals
函数。
目前在转译期间,所有全局变量都被记住在一个名为__all__
. 函数globals
仅列出该变量的内容。
但是对于模块,所有导出的变量和函数都以单词为前缀export
。所以我猜想 JS 解释器内部的某个地方有一个导出名称的列表或字典。
是否有可能以某种方式访问它,因此__all__
不再需要该列表,从而产生更精简的目标代码?
[编辑]
当然,可以使用显式 ES6 导出列表代替export
前缀。但 Transcrypt 也允许内联 JavaScript。并且从那里导出的带有export
前缀的变量不会在该列表中,因此它不会是完整的。