最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Three.js结合Vue进行模块化开发下,引入轨道控制器出现的问题。

    正文概述 掘金(柚子!)   2021-06-13   923

    存在问题

    three@0.129.0版本的轨道控制器类是在three/examples/js/controls/OrbitControls.js文件中定义的

    // file: three/examples/js/controls/OrbitControls.js
    (function() {
        // ...
        THREE.OrbitControls = OrbitControls;
    })()
    

    而当我们使用webpack+ES6模块化开发的时候:

    import * as THREE from 'three';
    import 'three/examples/js/controls/OrbitControls';
    

    控制台会报错Uncaught ReferenceError: THREE is not defined,说THREE变量没有定义,因为OrbitControls.js文件中使用的THREE是全局的,而我们全局并没有这个属性。 Three.js结合Vue进行模块化开发下,引入轨道控制器出现的问题。

    解决方案

    借助imports-loader,在three/examples/js/controls/OrbitControls.js文件中注入import * as THREE from 'three'.

        npm i imports-loader -D
    

    下载后,对webpack.config.js文件进行修改,在module.rules中添加匹配规则

    {
        ...
        module: {
            ...,
            rules: [
                {
                  test: require.resolve('three/examples/js/controls/OrbitControls'),
                  use: [
                    {
                      loader: 'imports-loader',
                      options: {
                        imports: [
                        // namespace three THREE' 注入规则请自行前往https://www.npmjs.com/package/imports-loader 查看
                          'namespace three THREE'
                        ]
                      }
                    }
                  ]
                },
            ]
        }
    }
    

    重新编译之后就能愉快的使用OrbitControls插件了。 Three.js结合Vue进行模块化开发下,引入轨道控制器出现的问题。 Three.js结合Vue进行模块化开发下,引入轨道控制器出现的问题。

    注意

    当你项目依赖的webpack版本与imports-loader版本不兼容时,会出现下面这种情况: Three.js结合Vue进行模块化开发下,引入轨道控制器出现的问题。

    解决方法

    升级webpack版本,或者降低imports-loader版本
    

    疑问

    如何知道loader对应的webpack版本呢?有没有知道的评论区告诉我一下。谢谢!!!
    

    起源地下载网 » Three.js结合Vue进行模块化开发下,引入轨道控制器出现的问题。

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元