我如何创建全局变量,我可以跨我的模块使用?



我从文件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;

等。

相关内容

  • 没有找到相关文章

最新更新