[英]How can I use typed variables as types with same name in Typescript?
将THREE.js
一起使用时,您可以为类型和代码使用相同的名称。 例如:
import * as THREE from '/build/three.module.js'
// Following line uses THREE.Scene as type and code
const scene: THREE.Scene = new THREE.Scene()
我试图在我自己的代码中复制相同的行为,但不知道该怎么做。 这是我尝试过的:
// typedModule.ts
export const typedConstant1: string = "string";
// Doesnt work
// declare global {
// namespace typedModule {
// export type typedConstant1 = typeof typedConstant1
// }
// }
// index.ts
import * as typedModule from "./typedModule";
const someVariable: typedModule.typedConstant1 = typedModule.typedConstant1; // ERROR: Namespace '"/sandbox/src/typedModule"' has no exported member 'typedConstant1'.ts(2694)
您应该能够以与导出值相同的方式导出类型:
export const typedConstant1: string = "string";
export type typedConstant1 = typeof typedConstant1;
然后导入应该工作:
import * as typedModule from "./typedModule";
const someVariable: typedModule.typedConstant1 = typedModule.typedConstant1;
// const someVariable: string
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.