three.js - 图书馆无法连接?错误:三个未定义
问题描述
我在脚本部分添加了three.js 库。我尝试了不同的方法,从链接到 cdn 网站到下载three.js 库并将其保存在我的目录中,但没有任何效果。当我尝试创建场景时,它无法识别 THREE 并说未定义。
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera();
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<title>practice</title>
<style>
body { margin: 0; }
canvas { display: block; }
</style>
</head>
<body>
<script src="main.js"></script>
<script src="https://threejs.org/build/three.js"></script>
<script src="js/three.js"></script>
</body>
</html>
解决方案
你应该把 three.js 的脚本放在你的 main.js 之前。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<title>practice</title>
<style>
body { margin: 0; }
canvas { display: block; }
</style>
</head>
<body>
<script src="https://threejs.org/build/three.js"></script>
<script src="js/three.js"></script>
<script src="main.js"></script>
</body>
</html>
由于您没有带有defer
or的脚本async
,HTML 解析器将等待下载并执行脚本并继续。
推荐阅读
- c - 如何继续打印直到你在c中按下一个按钮
- javascript - 包括多个打字稿文件
- java - 我必须将某个等级分类为(A、B、C、D、F),但没有显示错误消息
- node.js - 什么是 npm 缓存清理 --force --unsafe-perm
- javascript - 返回参数函数的数量是用什么来调用的?
- twitter-bootstrap - 山沟阴影
- java - BiConsumer 和一个参数的方法参考
- csv - 使用spark读取多个csv文件时如何从单个文件设置标题?
- django - 网址在 django 中没有唤醒
- python - multiprocessing.apply_async 在传递 queue.Queue 对象时实际上并没有启动