【发布时间】:2020-05-20 12:25:55
【问题描述】:
我在 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 调用函数时出现错误 -> reference error: crossdatacheck function is not defined in viewer.js 谁能向我建议我该怎么做?
【问题讨论】:
-
在
viewer.js文件之前导入player.js文件 -
你在使用
type="module"吗?您必须export模块中的函数。 -
@rishichawda,不,它没有!!!!
-
该线程确实有一个有效的答案。这就是:stackoverflow.com/a/58152287/11104618
标签: javascript ecmascript-6 frontend es6-modules