Threejs + wepack externals踩坑

2019-08-27  本文已影响0人  龙_猫

  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中清除,问题就可以得到解决。
上一篇 下一篇

猜你喜欢

热点阅读