问题:
Uncaught ReferenceError: THREE is not defined
原因:
服务器访问范围有限。
webStrom 在运行html的时候虽然会打开其自带的服务器功能,并且以此来运行。



但是html文件的访问权限只能限制在以服务器:localhost:63342为根目录的文件。对于localhost:63342所在目录的上层目录的文件是更不没办法访问的。
而上图二种的 导入JavaScript的时候,是localhost:63342的上一层目录下的3rd文件夹,所以根本没办法加载。进而报了上面的那个错误。
验证: 也是无意中尝试该验证方法的时候,才发现原因的。
httpd.cmd 打开服务器,结果运行1.html后可以正常使用。把httpd.cmd放到pathfinding_demo文件夹内后,就会出现上面的问题。

其他可以导致这个问题的原因:
javascript函数报Uncaught ReferenceError: XXX is not defined
为什么会报错误函数未定义呢?可以有以下集中原因:
1)JS函数未定义。(这种低级的相信大家都不会犯,但是不排除定义的函数和声明的函数名称不一致的情况,或 者传入参数不一致)
2)将Javascript函数放在了body和head之外了。(LZ就是曾犯过此类错误)
3)Javascript函数定义在对象声明之前。你的代码是直接就能运行的话,要是代码所操作的对象在代码后面,有的 浏览器会返回错误.因为它们是按顺序加载对象。

本文探讨了在Web开发中遇到的UncaughtReferenceError错误,分析了错误产生的原因,包括服务器访问范围限制、JavaScript函数放置位置不当等,并提供了有效的解决方案。
1265

被折叠的 条评论
为什么被折叠?



