在Angular 7中声明全局网站变量

时间:2018-12-08 12:24:00

标签: angular typescript three.js

我在添加THREEJS GLTFLoader时遇到问题。 发生以下错误: enter image description here

在我的组件中,我首先导入三个,然后导入GLTFLoader脚本。

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

正如您在第2行中看到的那样,我尝试为GLTFLoader脚本设置一个全局THREE变量,但是当我在网站的控制台THREE中键入时,它是未定义的。

1 个答案:

答案 0 :(得分:2)

您应该在from tkinter import * from random import choice def change_pic(): die1 = PhotoImage(file=("dice-1.png")) die2 = PhotoImage(file=("dice-2.png")) die3 = PhotoImage(file=("dice-3.png")) die4 = PhotoImage(file=("dice-4.png")) die5 = PhotoImage(file=("dice-5.png")) die6 = PhotoImage(file=("dice-6.png")) faces=[die1, die2, die3, die4, die5, die6] label.config(image=choice(faces)) label.grid(row=1, column=1) root = Tk() label = Label(root) label.grid(row=1, column=1) change_button = Button(root, text="change", command =change_pic) change_button.grid(row=1, column=2) root.mainloop() 中导入THREE

GLFTLoader添加到文件import * as THREE from 'three';的顶部

编辑:对不起,我想念您正在尝试做的事情。 我认为您的问题与装载顺序有关。从屏幕快照中,您好像正在使用webpack。在运行代码之前,它将加载所有导入。因此,当导入three/examples/js/loaders/GLTFLoader.ts时,GLFTLoader尚未运行。

查看编译后的文件(或Chrome中的源代码),您应该看到实际正在运行的代码。

要解决您的问题,请将代码从window['THREE'] = THREE复制到您自己的文件中,并将three/examples/js/loaders/GLTFLoader.js添加到该文件的顶部