THREE.OrbitControls не конструктор, не могу понять, что делать - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь добавить OrbitControls, но всегда получаю эту ошибку в этой инструкции:

var controls = new THREE.OrbitControls( camera, renderer.domElement );

Я установил с npm 3. js и three-orbitcontrols. js, я прочитал все ответы, но до сих пор не могу понять, что мне делать. Если я использую require или import на своей странице jsp, я все равно получаю эту проблему. Я также пробовал использовать browserify, но это не помогло (у меня ошибка EPERM, так что, может быть, я сделал что-то не так?).

Кто-нибудь может мне помочь? Что я пропустил?

Изменить: Я понял, что написал OrbitControls. js вместо трех орбитальных элементов управления. js, так что извините за это. Кроме того, если я попытаюсь использовать консоль импорта, появится сообщение: «SyntaxError: невозможно использовать оператор импорта вне модуля»

Ответы [ 3 ]

0 голосов
/ 04 августа 2020

Вам необходимо установить three-orbitcontrols, поскольку OrbitControls отсутствует в пакете three.js npm.

Для установки OrbitControls используйте

npm install three-orbitcontrols

Изменить

В пакете OrbitControls npm сказано:

three- js теперь предоставляет реальные модули через three / examples / jsm / ... для пример для импорта Orbit, импортируйте {OrbitControls} из 'three / examples / jsm / controls / OrbitControls'

Итак, вы можете использовать реальные модули, используя

import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
0 голосов
/ 05 августа 2020

В итоге проблема заключалась в том, что я использовал browserify не в той папке: теперь я создал пакеты, и он работает, спасибо за ответы.

0 голосов
/ 04 августа 2020

Попробуйте импортировать вот так

import * as THREE from 'three';

var controls = new THREE.OrbitControls( camera, renderer.domElement );

вверху файла.

...