当前,我想使用Three.js并检测单击的对象以获取有关该对象的信息。
因此,我看到以下示例:sample 它使用的是ReusableRay类,但是我当前的javascript项目在。
我正在尝试修改以下模块:my example Project
<script type="module">
import * as THREE from './build/three.module.js';
import { OrbitControls } from './js/controls/OrbitControls.js';
import {ReusableRay } from './js/ReusableRay.js'; // error
//detect
if (!Detector.webgl) Detector.addGetWebGLMessage();
var ray = new ReusableRay();
var projector = new THREE.Projector();
var directionVector = new THREE.Vector3();
但是我总是有相同的错误:未捕获的SyntaxError:意外的令牌'export'。这是我修改过的课程:myReusableRay
谢谢。
答案 0 :(得分:0)
在您的index.html
中,您两次输入了ReusableRay
。通过<script>
标记一次,然后使用ES6 import
语句一次。由于ReusableRay
是一个模块,因此只能使用ES6导入。
顺便说一句:您还两次包含three.js
。一次three.js
与<script>
,然后通过ES6导入import * as THREE from './build/three.module.js';
。这绝对是错误的。通常,应避免混合使用模块代码和非模块代码。
我还建议您更仔细地研究ES6模块如何工作,以避免此类问题。