three.js中jsm文件夹的使用
three.js在102版本的时候开始在examples中新增了一个jsm文件夹,并开始慢慢的增加对应的js文件,到106版本基本补充完善,这个文件夹和js文件夹有“对应”的关系。js model 主要用在es6 import中。
例如之前在es6以及ts的项目中我们需要使用OrbitControls控制器。有几种常见的方式,
- 通过npm安装 three-orbitcontrols。然后使用
import * as OrbitControls from "three-orbitcontrols
的方式引入, - 自己改造一下OrbitControls.js文件,采用es6的model方式。然后引入。
- 使用全局的在头部引入。
这几种方式就有弊端,都不理想。自从有了jsm文件之后,可以直接import使用了
import {OrbitControls} from "three/examples/jsm/controls/OrbitControls"
其他类似的three的插件也都可以这样直接使用。