You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Three.js与Ammo.js时遇'Clock is not defined'错误求解决

解决Three.js中'Clock is not defined'错误

你的问题出在未声明clock变量就直接赋值了。ES模块默认启用严格模式,严格模式下不允许未声明的变量赋值,这才导致了报错(浏览器的错误信息有点误导,实际是clock变量未定义,而非THREE.Clock)。

修复方法很简单,给clock加上变量声明:

//import
import * as THREE from 'three'
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'

// 用const声明clock(不需要重新赋值的话推荐用const)
const clock = new THREE.Clock();

如果后续需要修改clock的引用,可以换成let:

let clock = new THREE.Clock();
// 后续可以重新赋值
clock = new THREE.Clock(true);

另外确认一下你的Three.js导入路径没问题,从importmap和server配置来看,THREE的导入是正常的,所以核心问题就是变量未声明。

内容的提问来源于stack exchange,提问作者SGTMM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 08:24:57