我从文件sceneSetup.js
导入场景到initFloor1.js
,得到错误ReferenceError:scene is not defined
无法找到此问题的解决方案,无法理解是javascript还是Threejs的问题
sceneSetup.js:
export let camera, controls, renderer, labelRenderer, renderer3D, arrow, label, scene;
initFloor1.js:
import * as THREE from 'three';
import { camera, controls, renderer, labelRenderer, renderer3D, arrow, label, scene } from './../sceneSetup.js'
export function initFloor1() {
scene = new THREE.Scene();
我的项目文件夹:
|- src
| |- 3d-scene
| |- sceneSetup.js
| |- Floor1
| |- initFloor1.js
ChrisG建议的解决方案:导出对象并编辑其值
const globals = {
camera: null,
controls: null,
renderer: null,
labelRenderer: null,
renderer3D: null,
arrow: null,
label: null,
scene: null
};
export { globals };
使用window.variableName
在中心位置声明,然后您可以跨站点访问。
window.camera=null;
window.controls=null;
等。