أنا أستخدم Three.js في مشروع Angular مع حزمة الويب كمجمع.
عند محاولة تحميل ملف GLTF ، يتم طرح ReferenceError:
ERROR Error: Uncaught (in promise): ReferenceError: THREE is not defined
ReferenceError: THREE is not defined at GLTFLoader.js:2715
بالإشارة إلى هذا السطر من التعليمات البرمجية:
في كود TypeScript الخاص بي ، أقوم باستيراد المُحمل بهذه الطريقة:
import { GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader';
أعتقد أنه لإصلاح هذا ، إما أن يتم تصدير _BufferGeometryUtils_ في _three.module.js_ أو يجب إزالة كتلة التعليمات البرمجية من إصدار jsm من GLTFLoader ، حيث لم يتم تعريف الكائن _THREE_ العالمي.
لقد وجدت أيضًا أن _BufferGeometryUtils_ هو استثناء في البرنامج النصي _modularize_:
لسوء الحظ ، لا تعمل الوحدات النمطية examples/jsm
بكامل طاقتها حتى الآن آسف. ما زلت أعمل على هذا.
أبلغ مستخدم آخر عن نفس المشكلة هنا:
دمج # 15582 يجب أن يحل هذه المشكلة ، أليس كذلك؟
لقد جربت GLTFLoader المحدث في فرع dev وهو يعمل بشكل جيد ، في انتظار الإصدار.
شكرا على الإصلاح!
لأي شخص يحتاج إلى إصلاح عاجل ، استخدم حزمة npm "three-gltf-loader":
import GLTFLoader from 'three-gltf-loader';
التعليق الأكثر فائدة
لقد جربت GLTFLoader المحدث في فرع dev وهو يعمل بشكل جيد ، في انتظار الإصدار.
شكرا على الإصلاح!
لأي شخص يحتاج إلى إصلاح عاجل ، استخدم حزمة npm "three-gltf-loader":
import GLTFLoader from 'three-gltf-loader';