Объявите глобальную переменную веб-сайта в Angular 7 - PullRequest
0 голосов
/ 08 декабря 2018

У меня проблемы с включением THREEJS GLTFLoader.Возникает следующая ошибка: enter image description here

В моем компоненте я импортирую сначала ТРИ, а затем скрипт GLTFLoader.

import * as THREE from 'three';
window['THREE'] = THREE;
import 'three/examples/js/loaders/GLTFLoader';

Как видно из строки 2,Я пытаюсь установить глобальную переменную THREE для скрипта GLTFLoader, но когда я печатаю в консоли веб-сайта THREE, она не определена.

1 Ответ

0 голосов
/ 08 декабря 2018

Вы должны импортировать THREE в GLFTLoader.

Добавить import * as THREE from 'three'; в начало файла three/examples/js/loaders/GLTFLoader.ts

РЕДАКТИРОВАТЬ: Извините, яМисс поняла, что вы пытаетесь сделать.Я думаю, что ваша проблема зависит от порядка загрузки.На скриншоте видно, что вы используете веб-пакет.Он загрузит весь импорт перед запуском вашего кода.Поэтому, когда GLFTLoader импортируется, window['THREE'] = THREE еще не запускался.

Загляните в соответствующий файл (или исходные коды в Chrome), и вы увидите, какой код на самом деле выполняется.

Чтобы решить вашу проблему, скопируйте код из three/examples/js/loaders/GLTFLoader.js в свой собственный файл и добавьте import * as THREE from 'three'; в начало этого файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...