我在HTML中定义了一个模块类型的函数,我需要从同一HTML文件中包含的另一个js文件中调用该函数。当我从js文件中调用函数时,称为参考错误。
这就是我的HTML文件中的内容:
<script src="../src/viewer.js"></script>
<script type="module" src="../pravintest/player.js"></script>
在 viewer.js 文件中,我有一个代码,在其中调用player.js中的函数 crossdatacheck(param)。
这是我的player.js文件:
import * as THREE from './threejs/build/three.module.js';
import { GUI } from './threejs/examples/jsm/libs/dat.gui.module.js';
import { OrbitControls } from './threejs/examples/jsm/controls/OrbitControls.js';
import { NRRDLoader } from './threejs/examples/jsm/loaders/NRRDLoader.js';
import { VolumeRenderShader1 } from './threejs/examples/jsm/shaders/VolumeShader.js';
import { WEBGL } from './threejs/examples/jsm/WebGL.js';
var renderer,
scene,
camera,
controls,
material,
volconfig,
cmtextures;
function crossdatacheck(data) {
console.log(data);
}
我想从viewer.js文件中调用此函数。
当我从viewer.js调用函数时,出现错误-> 引用错误: crossdatacheck函数未在viewer.js中定义 谁能建议我该怎么做?
答案 0 :(得分:3)
模块具有自己的范围,并且顶级var
语句和function
声明不创建全局变量。 (这很好,全局变量有问题。)
要处理此问题:
export
您要在模块外部使用的变量<script>
,以便将其作为模块加载<script>
import
语句一起导入