Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript “合并类型脚本”;模块";跨多个文件_Typescript - Fatal编程技术网

Typescript “合并类型脚本”;模块";跨多个文件

Typescript “合并类型脚本”;模块";跨多个文件,typescript,Typescript,使用以下类型脚本代码,我可以访问Alphabet.alpha.one和alphabeta.beta.two export module Alphabet { export module alpha { export const one = 1 } } export module Alphabet { export module beta { export const two = 2 } } console.log(Alphabe

使用以下类型脚本代码,我可以访问
Alphabet.alpha.one
alphabeta.beta.two

export module Alphabet {
    export module alpha {
        export const one = 1
    }
}

export module Alphabet {
    export module beta {
        export const two = 2
    }
}

console.log(Alphabet.alpha.one)
但是,如果我将这些“导出模块”拆分为两个文件,如何获得与“Alphabet”在一个文件中相同的访问权限

我试过类似的方法:

import "./Alphabet.alpha"
import "./Alphabet.beta"
但这并不意味着什么。如果我通过其中一个来定义字母表,那么它只有一个属性
Alpha
Beta

如何将两个深“模块”拆分为单独的文件,同时又能够通过另一个文件访问完整对象


更新:

这是可行的,但键入的是“any”,这是不可取的

const Alphabet = Object.assign({},
    require('./Alphabet.alpha'),
    require('./Alphabet.beta'),
)

您当前正在ES模块内导出内部模块(又名命名空间),这些模块无法自动合并。使用名称空间(不在文件顶级使用
导出
导入
),或者如果需要模块,则必须手动合并它们,然后仅导出此合并结果。感谢您的评论。我尝试过没有导出的名称空间,它只返回类型,而不返回实际值。例如,这个名称空间在全局范围内是可访问的。是的,我已经知道了。问题是,如何将这两个名称空间声明保存到两个单独的文件中,然后再次将它们导入到一起。