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