three examples three.js webpack

three.js - examples - three min js download



¿Cuál es la forma correcta de utilizar Three.js dentro de Webpack para que pueda usar OrbitControls? (1)

En mi configuración de paquete web:

resolve: { alias: { ''three'': path.resolve(''node_modules'', ''three/build/three.js''), ''OrbitControls'': path.resolve(''node_modules'', ''three/examples/js/controls/OrbitControls.js''), ''OBJLoader'': path.resolve(''node_modules'', ''three/examples/js/loaders/OBJLoader.js'') }

En mi módulo:

import * as THREE from ''three'' // if I do import THREE from ''three'' it fails with three being undefined import OrbitControls from ''OrbitControls'' import OBJLoader from ''OBJLoader''

Si utilizo import * THREE from ''three'' todo está bien y puedo obtener TRES para definir y completar el tutorial de cubo sin problemas. Si cambio a import * as THREE from ''three'' se carga three.js - ¿entonces ese no es el problema?

¿Cómo puedo cargar los OBJLoader y el OBJLoader ? Cuando intento que se carguen, Uncaught ReferenceError: THREE is not defined(…) dentro de THREE.OrbitControls = function ( object, domElement ) { : THREE.OrbitControls = function ( object, domElement ) { THREE no está definido.

Entonces, ¿hay un problema con el empaquetado de los módulos? Instalé esto desde https://www.npmjs.com/package/three

Entonces, ¿qué da? ¿Es un problema cómo Three.js está empaquetado en npm o es una configuración incorrecta en mi webpack.config? ¿Hay alguna manera de decirle a webpack "vamos a empaquetar el archivo raíz de three.js, y luego empaquetar el archivo de OrbitControls.js"?


Necesitaba instalar los three-orbit-controls y el three-obj-loader través de npm.

Luego en mi módulo, simplemente los requería:

var OBJLoader = require(''three-obj-loader'')(THREE) var OrbitControls = require(''three-orbit-controls'')(THREE)

¡Todo listo!