Threejs + wepack externals踩坑

  threejs本身体积有100+KB,在使用webpack的项目中自然会想到把它作为external来引入。但这种方式引入存在两个需要注意的点:

  1. 在controls中(比如TrackballControls)会丢失表示按键的常量,在TrackballControls中是代表鼠标按键的常量,会导致无法使用鼠标进行镜头控制,而触控正常。此时只需将对应常量写入controls文件中即可。TrackballControls中加入以下常量的声明即可解决问题。
MOUSE = {
        LEFT: 0,
        MIDDLE: 1,
        RIGHT: 2,
        ROTATE: 0,
        DOLLY: 1,
        PAN: 2
    };
  1. 如果你使用react,且包含threejs内容的组件经常需要被加载和卸载,那么请千万不要将threejs放入webpack externals中,这会导致threejs无法被正常卸载,从而在后台占用大量计算资源。目前原因未知,但只要将threejsexternals中清除,问题就可以得到解决。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,924评论 1 11
  • react vr中文网:www.vr-react.com react vr qq群:481244084 示例源码 ...
    liu_520阅读 9,234评论 4 6
  • 目录第1章 webpack简介 11.1 webpack是什么? 11.2 官网地址 21.3 为什么使用 web...
    lemonzoey阅读 5,704评论 0 1
  • 利用 Webpack 来优化 Web 性能属于加载性能优化 的一部分: ☛ Web Performance Opt...
    一个笑点低的妹纸阅读 13,665评论 8 8
  • 今天给大家讲一个故事,从前有一个人因为失恋变得很孤独,突然有一天。它走进了他的世界,陪伴了它生命里的全部时间,刚开...
    欢儿ing阅读 3,424评论 0 2

友情链接更多精彩内容