【问题标题】:THREE is not defined error三个未定义错误
【发布时间】:2021-04-25 22:26:19
【问题描述】:

您好,我正在尝试在我的机器上本地运行一些 three.js 示例。我知道安全存在一些问题,所以我需要设置一个本地服务器。所以我正在用python运行一个本地服务器。背景图像和文本显示,但没有动画发生。

我检查了控制台并收到错误三未定义。我已经下载了 three.js 并将该文件夹放在我的项目目录中 - 关于这里发生的任何想法?

three.js(示例)页面访问时,动画在浏览器中起作用。当我在three.js-master 目录下的命令行上工作时,我的脚本src 与命令pwd 的输出相同,如下所示:

<script src="/home/iiiiiii/Desktop/test/build/three.js"></script>
<script src="js/controls/TrackballControls.js"></script>
<script src="js/renderers/CSS3DRenderer.js"></script>
<script src="js/loaders/PDBLoader.js"></script>

【问题讨论】:

  • 我猜你的 python 服务器无法访问其工作目录之外的文件,因此你的桌面的绝对路径不起作用......你能告诉我们你的 python 服务器脚本吗?
  • 我是 python 新手,所以我在我的路径中的命令行上,文件是“测试”目录并运行 python -m SimpleHTTPServer 8000。我也尝试过没有服务器,通过在我的浏览器中打开“index.html” - 背景和文本的输出相同但没有动画和相同的三个未定义错误
  • 检查 chrome devtools 中的 network 选项卡。查看您是否在 three.js 文件中收到 404(未找到文件)。如果是,请尝试将 three.js 文件符号链接到您拥有所有内容的目录并适当更改文件路径。
  • 是的,我检查了网络选项卡,果然它列出了它找不到的文件,所以我不得不手动更改这些文件的路径。但是在这样做之后,我得到了一个 XML 错误,所以再次从 Python 服务器运行,然后得到了原始的错误消息。依赖不止three.js,貌似还有图片(sprite)文件等。

标签: javascript three.js


【解决方案1】:

您好,最常见的原因是您没有在项目中添加三个 js,正如我在您给定的代码 sn-p 中看到的那样 /home/iiiiiii/Desktop/test/build/three.js 但是给定的路径不是在项目中提供的有效路径我建议将此文件移动到项目文件夹中,就像您在给定的 sn-p 中添加的其他 js 文件一样。 或者你可以在你的项目中为三个js添加一个CDN

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js" integrity="sha512-dLxUelApnYxpLt6K2iomGngnHO83iUvZytA3YjDUCjT0HDOHKXnVYdf3hU4JjM8uEhxf9nD1/ey98U3t2vZ0qQ==" crossorigin="anonymous"></script>

【讨论】:

    【解决方案2】:

    是否需要在文档顶部或页面呈现后调用此库? 我注意到您在链接库时没有设置类型。试试:

    <script type="text/javascript" src="/home/iiiiiii/Desktop/test/build/three.js"></script>
    

    【讨论】:

    • 好吧,我直接从three.js 示例中复制了源代码。所以它应该没有这个。但是我确实尝试过,但并没有解决问题。我要尝试的下一步是在 IDE (intellij) 中运行它我真的很困惑为什么这不起作用。
    • 你能控制台日志 window.THREE 看看它是否返回一个对象吗? @iiiiii
    • type 属性是完全没有必要的,除非在一些古老的浏览器中......不是那种用于制作 3D WebGL 图形的浏览器。
    • @AlexFallenstedt 应该不是问题,默认情况下没有一个脚本被标记为async 和脚本加载块。十块钱说问题是three.js文件是404ed。
    • 好的,所以我有一个更新 - 我必须手动更改所有找不到的文件的路径。然后我收到了一个奇怪的 XML 错误,所以再次阅读以设置服务器,然后设置 Python 服务器,现在我再次遇到文件路径错误。所以我暂时搁置了这个。
    猜你喜欢
    • 2017-06-18
    • 2019-10-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 2017-04-26
    相关资源
    最近更新 更多