说明
之前的笔记,引入three.js相关包那是相当的麻烦,各种引入方式和配置,还有各种报错和提示。
新版本的three.js对其变量的引入和暴露进行了优化,可以很方便的从jsm文件夹下引入相关包了。
本人从npm上下载安装的three包(注意不是three-js,毕竟这玩意4年没更新了):
https://www.npmjs.com/package/three
一、原版本例子
import * as THREE from 'three'
import OrbitControls from 'three/examples/js/controls/OrbitControls'
controls = new OrbitControls(camera, renderer.domElement)
配置webpack.base.conf.js文件
{
test: require.resolve("three/examples/js/controls/OrbitControls"),
use: "imports-loader?THREE=three"
},
{
test: require.resolve("three/examples/js/controls/OrbitControls"),
use: "exports-loader?THREE.OrbitControls"
},
二、新版本例子
当前使用新three.js版本号:
"three": {
"version": "0.112.1",
"resolved": "https://registry.npmjs.org/three/-/three-0.112.1.tgz",
"integrity": "sha512-8I0O74hiYtKl3LgDNcPJbBGOlpekbcJ6fJnImmW3mFde

新版本的three.js优化了包引入方式,直接从jsm文件夹导入,无需复杂配置。示例展示了从npm下载安装及新旧版本的对比,新版本引入OrbitControls等包更为简便。
最低0.47元/天 解锁文章





