Three.js: JSM / GLTFLoader: خطأ في حزمة الويب باستخدام jsm

تم إنشاؤها على ٩ مارس ٢٠١٩  ·  3تعليقات  ·  مصدر: mrdoob/three.js

وصف المشكلة

أنا أستخدم Three.js في مشروع Angular مع حزمة الويب كمجمع.
عند محاولة تحميل ملف GLTF ، يتم طرح ReferenceError:

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

بالإشارة إلى هذا السطر من التعليمات البرمجية:

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

في كود TypeScript الخاص بي ، أقوم باستيراد المُحمل بهذه الطريقة:

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

أعتقد أنه لإصلاح هذا ، إما أن يتم تصدير _BufferGeometryUtils_ في _three.module.js_ أو يجب إزالة كتلة التعليمات البرمجية من إصدار jsm من GLTFLoader ، حيث لم يتم تعريف الكائن _THREE_ العالمي.

لقد وجدت أيضًا أن _BufferGeometryUtils_ هو استثناء في البرنامج النصي _modularize_:

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

إصدار Three.js
  • [] ديف
  • [x] r102
  • [] ...
المستعرض
  • [x] كل منهم
  • [ ] كروم
  • [ ] ثعلب النار
  • [ ] متصفح الانترنت
نظام التشغيل
  • [x] كل منهم
  • [ ] شبابيك
  • [] macOS
  • [] لينكس
  • [ ] ذكري المظهر
  • [] iOS
متطلبات الأجهزة (بطاقة الرسومات ، جهاز VR ، ...)
Bug

التعليق الأكثر فائدة

لقد جربت GLTFLoader المحدث في فرع dev وهو يعمل بشكل جيد ، في انتظار الإصدار.
شكرا على الإصلاح!

لأي شخص يحتاج إلى إصلاح عاجل ، استخدم حزمة npm "three-gltf-loader":

import GLTFLoader from 'three-gltf-loader';

ال 3 كومينتر

لسوء الحظ ، لا تعمل الوحدات النمطية examples/jsm بكامل طاقتها حتى الآن آسف. ما زلت أعمل على هذا.

أبلغ مستخدم آخر عن نفس المشكلة هنا:

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

دمج # 15582 يجب أن يحل هذه المشكلة ، أليس كذلك؟

لقد جربت GLTFLoader المحدث في فرع dev وهو يعمل بشكل جيد ، في انتظار الإصدار.
شكرا على الإصلاح!

لأي شخص يحتاج إلى إصلاح عاجل ، استخدم حزمة npm "three-gltf-loader":

import GLTFLoader from 'three-gltf-loader';

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات