我正在尝试对使用THREE.js的Vector3类的代码运行一个简单的Mocha单元测试:
import {Vector3} from 'three';
const a = new Vector3(0, 0, 0);
当这是通过Mocha运行时(实际上mocha-webpack是精确的,其中webpack设置为目标'node'而不是'web'),我得到了
RUNTIME EXCEPTION Exception occurred while loading your tests
ReferenceError: THREE is not defined
正如您所看到的,我在测试代码中没有引用名称THREE。结果是THREE是在three.js的源代码中定义的(全局?)对象。但是,由于某种原因,它现在不可用。如何才能使上述测试代码正常工作?
答案 0 :(得分:1)
发生此错误是因为在webpack配置中“three”列在“externals”中。从webpack的测试配置中删除所有外部设备解决了这个问题。