我用TypeScript制作了一个类:
export class Vector3 {
x: number;
y: number;
z: number;
constructor(x, y, z) {
this.x = x;
this.y = y;
this.z = z;
}
}
然后创建Vector3类的实例:
import { Vector3 } from './engine';
var myVector: Vector3 = new Vector3(1, 2, 3);
但是当我编译脚本时,它说:
TSError: ⨯ Unable to compile TypeScript:
src/engine.ts:5:14 - error TS2339: Property 'x' does not exist on type 'Vector3'.
5 this.x = x;
~
src/engine.ts:6:14 - error TS2339: Property 'y' does not exist on type 'Vector3'.
6 this.y = y;
~
src/engine.ts:7:14 - error TS2339: Property 'z' does not exist on type 'Vector3'.
7 this.z = z;
~
at createTSError (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:421:12)
at reportTSError (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:425:19)
at getOutput (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:530:36)
at Object.compile (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:735:32)
at Module.m._compile (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:814:43)
at Module.m._compile (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:814:23)
at Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at require.extensions.<computed> (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:817:12)
at Object.require.extensions.<computed> [as .ts] (/Users/rico345100/Desktop/development/test/node_modules/ts-node/src/index.ts:817:12)
at Module.load (internal/modules/cjs/loader.js:811:32)
我不知道为什么会这样。我可以清楚地看到Vector3类定义中存在x / y / z,但是为什么ts编译器会给出该错误?
答案 0 :(得分:0)
只是猜测,但我认为您的导入语句import { Vector3 } from './engine';
可能是错误的。类名Vector3
很流行,您的IDE可能导入了错误的类实现。