TypeScript 错误:node_modules/@types/three/three-core.d.ts(767,24):错误 TS2304:找不到名称“Iterable" [英] TypeScript error: node_modules/@types/three/three-core.d.ts(767,24): Error TS2304: Cannot find name 'Iterable'
本文介绍了TypeScript 错误:node_modules/@types/three/three-core.d.ts(767,24):错误 TS2304:找不到名称“Iterable"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个错误:
TypeScript 错误:node_modules/@types/three/three-core.d.ts(767,24):错误 TS2304:找不到名称Iterable".
TypeScript error: node_modules/@types/three/three-core.d.ts(767,24): Error TS2304: Cannot find name 'Iterable'.
我使用以下说明中的 gulp 工作流程:https://www.typescriptlang.org/docs/handbook/gulp.html
I use gulp workflow from this instruction: https://www.typescriptlang.org/docs/handbook/gulp.html
我为 VS2015 安装了 TypeScript 2.2.2.
I installed TypeScript 2.2.2 for VS2015.
这是完整的代码:
import * as THREE from "three";
// https://github.com/pinqy520/three-typescript-starter/blob/master/src/index.ts
class Game
{
private _scene: THREE.Scene;
//private _canvas: HTMLCanvasElement;
private _camera: THREE.PerspectiveCamera;
private _renderer: THREE.WebGLRenderer;
private _axis: THREE.AxisHelper;
private _light: THREE.DirectionalLight;
private _light2: THREE.DirectionalLight;
private _material: THREE.MeshBasicMaterial;
private _box: THREE.Mesh;
public constructor()
{
//this._canvas = <HTMLCanvasElement>document.getElementById(canvasElement);
this._scene = new THREE.Scene();
this._camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
this._renderer = new THREE.WebGLRenderer();
this._axis = new THREE.AxisHelper(10);
this._light = new THREE.DirectionalLight(0xffffff, 1.0);
this._light2 = new THREE.DirectionalLight(0xffffff, 1.0);
this._material = new THREE.MeshBasicMaterial({
color: 0xaaaaaa,
wireframe: true
});
this._box = new THREE.Mesh(new THREE.BoxGeometry(1, 1, 1), this._material);
}
public createScene(): void
{
this._renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(this._renderer.domElement);
this._scene.add(this._axis);
this._light.position.set(100, 100, 100);
this._scene.add(this._light);
this._light2.position.set(-100, 100, -100)
this._scene.add(this._light2);
this._box.position.x = 0.5;
this._box.rotation.y = 0.5;
this._camera.position.x = 5;
this._camera.position.y = 5;
this._camera.position.z = 5;
this._camera.lookAt(this._scene.position);
}
public animate(): void
{
requestAnimationFrame(this.animate);
this._render();
}
private _render(): void
{
let timer = 0.002 * Date.now()
this._box.position.y = 0.5 + 0.5 * Math.sin(timer)
this._box.rotation.x += 0.1
this._renderer.render(this._scene, this._camera)
}
}
window.onload = () =>
{
let game = new Game();
game.createScene();
game.animate();
}
推荐答案
将此添加到我的打字稿文件顶部为我解决了这个问题:
Adding this to the top of my typescript file fixed this issue for me:
///<reference path="./node_modules/typescript/lib/lib.es6.d.ts"/>
这篇关于TypeScript 错误:node_modules/@types/three/three-core.d.ts(767,24):错误 TS2304:找不到名称“Iterable"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文