3 回答
![?](http://img1.sycdn.imooc.com/533e4c5600017c5b02010200-100-100.jpg)
TA贡献1812条经验 获得超5个赞
在线资源,Threejs 主机,示例代码
<script type="module">
import * as THREE from 'https://three.ipozal.com/threejs/resources/threejs/r110/build/three.module.js';
import { OrbitControls } from 'https://three.ipozal.com/threejs/resources/threejs/r110/examples/jsm/controls/OrbitControls.js';
import { OBJLoader2 } from 'https://three.ipozal.com/threejs/resources/threejs/r110/examples/jsm/loaders/OBJLoader2.js';
function main() {
.....
</script>
![?](http://img1.sycdn.imooc.com/5458471300017f3702200220-100-100.jpg)
TA贡献1794条经验 获得超7个赞
看来您的版本OrbitControls.js是 ES6 模块。这意味着您必须像这样导入控件:
<script type="module">
import * as THREE from 'scripts/three.module.js';
import { OrbitControls } from 'scripts/OrbitControls.js';
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x888888,1)
document.body.appendChild(renderer.domElement);
var controls = new OrbitControls(camera, renderer.domElement);
请注意,上面的代码使用了three.module.js构建文件,您可以在官方git 存储库的构建目录中找到该文件。如果您不熟悉 ES6 模块,我建议您研究有关此主题的现有资源。例如https://exploringjs.com/es6/ch_modules.html
three.js R109
![?](http://img1.sycdn.imooc.com/545866c40001561502200220-100-100.jpg)
TA贡献1883条经验 获得超3个赞
对我有用的是包括 @kaveh-eyni 提到的 type="module" 但随后 npm 将“已弃用”模块直接安装到我的项目中。
npm install --save three-orbitcontrols
npm i --save three-gltf-loader
进而
<script type="module">
import * as THREE from 'three/build/three.module'
import OrbitControls from 'three-orbitcontrols'
import GLTFLoader from 'three-gltf-loader
添加回答
举报