Three.js: JSM / GLTFLoader: Kesalahan webpack menggunakan jsm

Dibuat pada 9 Mar 2019  ·  3Komentar  ·  Sumber: mrdoob/three.js

Deskripsi masalah

Saya menggunakan three.js dalam proyek Angular dengan webpack sebagai bundler.
Saat mencoba memuat file GLTF, ReferenceError muncul:

ERROR Error: Uncaught (in promise): ReferenceError: THREE is not defined ReferenceError: THREE is not defined at GLTFLoader.js:2715

Mengacu pada baris kode ini:

https://github.com/mrdoob/three.js/blob/1bb6d19805a30e6edb5650d40ab248a3f9ce918e/examples/jsm/loaders/GLTFLoader.js#L2715

Dalam kode TypeScript saya, saya mengimpor loader dengan cara ini:

import { GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader';

Saya kira untuk memperbaikinya, baik _BufferGeometryUtils_ harus diekspor dalam _three.module.js_ atau blok kode harus dihapus dari GLTFLoader versi jsm, karena objek _THREE_ global tidak ditentukan.

Saya juga menemukan bahwa _BufferGeometryUtils_ adalah pengecualian dalam skrip _modularize_:

https://github.com/mrdoob/three.js/blob/e88edaa2caea2b61c7ccfc00d1a4f8870399642a/utils/modularize.js#L15

Versi Three.js
  • [] Dev
  • [x] r102
  • [] ...
Browser
  • [x] Semuanya
  • [] Chrome
  • [] Firefox
  • [ ] Internet Explorer
OS
  • [x] Semuanya
  • [] Jendela
  • [] macOS
  • [] Linux
  • [] Android
  • [] iOS
Persyaratan Perangkat Keras (kartu grafis, Perangkat VR, ...)
Bug

Komentar yang paling membantu

Saya sudah mencoba GLTFLoader yang diperbarui di cabang dev dan berfungsi dengan baik, menunggu rilis.
Terima kasih atas perbaikannya!

Bagi siapa saja yang membutuhkan perbaikan segera, gunakan paket npm 'three-gltf-loader':

import GLTFLoader from 'three-gltf-loader';

Semua 3 komentar

Sayangnya modul examples/jsm belum berfungsi sepenuhnya, maaf. Masih mengerjakan ini.

Pengguna lain melaporkan masalah yang sama di sini:

https://discourse.threejs.org/t/importing-three-r102-examples-jsm-gltfloader-into-angular-7-project/6484

Menggabungkan # 15582 seharusnya menyelesaikan masalah ini, bukan?

Saya sudah mencoba GLTFLoader yang diperbarui di cabang dev dan berfungsi dengan baik, menunggu rilis.
Terima kasih atas perbaikannya!

Bagi siapa saja yang membutuhkan perbaikan segera, gunakan paket npm 'three-gltf-loader':

import GLTFLoader from 'three-gltf-loader';

Apakah halaman ini membantu?
0 / 5 - 0 peringkat