当使用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()Im 试图在我自己的代码中复制相同的行为,但不确定如何做到。这就是我尝试过的:
// 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)发布于 2021-02-08 16:49:12
您应该能够以导出值的方式导出类型:
export const typedConstant1: string = "string";
export type typedConstant1 = typeof typedConstant1;然后进口应起作用:
import * as typedModule from "./typedModule";
const someVariable: typedModule.typedConstant1 = typedModule.typedConstant1;
// const someVariable: stringhttps://stackoverflow.com/questions/66105716
复制相似问题