Typescript 在命名空间中导出命名空间

Typescript 在命名空间中导出命名空间,typescript,javascript-namespaces,Typescript,Javascript Namespaces,我可以导出一个名称空间a和另一个名称空间B吗?比如: // b.ts export namespace B { export const val = 'val'; } ---以上将作为一个模块导出,并由另一个项目C依赖 // c.ts import { B } from 'A'; const a = B.val; 我希望ts在C中显示“namespace B”而不是“import B”,这似乎是不可能的我也遇到了同样的问题,最后在类型脚本Github repo中遇到了这个问题 解决办法

我可以导出一个名称空间a和另一个名称空间B吗?比如:

// b.ts
export namespace B {
  export const val = 'val';
}
---以上将作为一个模块导出,并由另一个项目C依赖

// c.ts
import { B } from 'A';

const a = B.val;

我希望ts在C中显示“namespace B”而不是“import B”,这似乎是不可能的我也遇到了同样的问题,最后在类型脚本Github repo中遇到了这个问题

解决办法如下:

// b.ts (no change here)
export namespace B {
  export const val = 'val';
}
在a.T

// a.ts
import {B as _b} from './b.ts'
export namespace A {
  export import B = _b
}
最后在C.T

import { A } from './a.ts'
const b2 = A.B.val;
至于你问题的第二部分,我想也许会对你有所帮助

import { A } from './a.ts'
const b2 = A.B.val;