我可以导出命名空间 A 并在其中包含另一个命名空间 B 吗?就像是:
// b.ts
export namespace B {
export const val = 'val';
}
// a.ts
export namespace A {
//... some thing import b as namespace
}
---以上将作为模块导出并被另一个项目C依赖;
// c.ts
import { B } from 'A';
const a = B.val;
我希望 ts 向我展示 C 中的“命名空间 B”而不是“导入 B”,这似乎是不可能的 ????;
另一个问题是:导出时是否可以将命名空间 B 拆分为多个文件,例如:
// b2.ts
export namespace B {
export const val2 = 'val2';
}
并且可以在C中导入
// c.ts
import { B } from 'A';
const b2 = B.val2;
我也遇到了同样的问题,最后遇到了这个答案 https://github.com/Microsoft/TypeScript/issues/20990在 Typescript Github 存储库上。
解决方法如下:
// b.ts (no change here)
export namespace B {
export const val = 'val';
}
in a.ts
// a.ts
import {B as _b} from './b.ts'
export namespace A {
export import B = _b
}
最后在C.ts
import { A } from './a.ts'
const b2 = A.B.val;
至于你问题的第二部分,我认为this https://github.com/Microsoft/TypeScript/issues/5395 and this https://stackoverflow.com/questions/30357634/how-do-i-use-namespaces-with-typescript-external-modules可能会帮助你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)