Uncaught TypeError: Failed to resolve module specifier “three/examples/jsm/controls/OrbitControls“.

article/2025/10/8 21:09:26

在这里插入图片描述
做three.js项目遇到这个问题。
如何解决呢?
我的方法:
//index.html

<head><script type="importmap">{"imports": {"three": "https://unpkg.com/three@0.138.0/build/three.module.js","OrbitControls": "https://unpkg.com/three@0.138.0/examples/jsm/controls/OrbitControls.js"}}</script>
</head>
<body><script type="module" src="js/main.js"></script>
</body>

//main .js

// import * as THREE from "three";
import * as THREE from '../../node_modules/three/src/Three.js';
// 导入轨道控制器
// import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
import { OrbitControls } from "../../node_modules/three/examples/jsm/controls/OrbitControls.js";
// 导入动画库
// import gsap from "gsap";
import { gsap } from '../../node_modules/gsap/index.js';// console.log(THREE);// 目标:监听页面尺寸变化,修改渲染画面// 1、创建场景
const scene = new THREE.Scene();// 2、创建相机
const camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000
);// 设置相机位置
camera.position.set(0, 0, 10);
scene.add(camera);// 添加物体
// 创建几何体
const cubeGeometry = new THREE.BoxGeometry(1, 1, 1);
const cubeMaterial = new THREE.MeshBasicMaterial({ color: 0xffff00 });
// 根据几何体和材质创建物体
const cube = new THREE.Mesh(cubeGeometry, cubeMaterial);// 修改物体的位置
// cube.position.set(5, 0, 0);
// cube.position.x = 3;
// 缩放
// cube.scale.set(3, 2, 1);
// cube.scale.x = 5;
// 旋转
cube.rotation.set(Math.PI / 4, 0, 0, "XZY");// 将几何体添加到场景中
scene.add(cube);console.log(cube);// 初始化渲染器
const renderer = new THREE.WebGLRenderer();
// 设置渲染的尺寸大小
renderer.setSize(window.innerWidth, window.innerHeight);
// console.log(renderer);
// 将webgl渲染的canvas内容添加到body
document.body.appendChild(renderer.domElement);// // 使用渲染器,通过相机将场景渲染进来
// renderer.render(scene, camera);// 创建轨道控制器
const controls = new OrbitControls(camera, renderer.domElement);
// 设置控制器阻尼,让控制器更有真实效果,必须在动画循环里调用.update()。
controls.enableDamping = true;// 添加坐标轴辅助器
const axesHelper = new THREE.AxesHelper(5);
scene.add(axesHelper);
// 设置时钟
const clock = new THREE.Clock();// 设置动画
var animate1 = gsap.to(cube.position, {x: 5,duration: 5,ease: "power1.inOut",//   设置重复的次数,无限次循环-1repeat: -1,//   往返运动yoyo: true,//   delay,延迟2秒运动delay: 2,onComplete: () => {console.log("动画完成");},onStart: () => {console.log("动画开始");},
});
gsap.to(cube.rotation, { x: 2 * Math.PI, duration: 5, ease: "power1.inOut" });window.addEventListener("dblclick", () => {//   console.log(animate1);if (animate1.isActive()) {//   暂停animate1.pause();} else {//   恢复animate1.resume();}
});function render() {controls.update();renderer.render(scene, camera);//   渲染下一帧的时候就会调用render函数requestAnimationFrame(render);
}render();// 监听画面变化,更新渲染画面
window.addEventListener("resize", () => {//   console.log("画面变化了");// 更新摄像头camera.aspect = window.innerWidth / window.innerHeight;//   更新摄像机的投影矩阵camera.updateProjectionMatrix();//   更新渲染器renderer.setSize(window.innerWidth, window.innerHeight);//   设置渲染器的像素比renderer.setPixelRatio(window.devicePixelRatio);
});

还有一个方法:
(网上找到的,还没验证)

npm install -g parcel-bundlerparcel *.html

http://chatgpt.dhexx.cn/article/K67VpTN9.shtml

相关文章

JCFXBL JSM基础功能实验

JCFXBL JSM基础功能实验 程序调试&#xff1a;王龙腾 文档整理&#xff1a;王红伟 本系列文章由ex_net&#xff08;张建波&#xff09;编写&#xff0c;转载请注明出处。 http://blog.csdn.net/ex_net/article/details/8079039 作者&#xff1a;张建波 邮箱&#xff1a…

关于VUE中使用three.js的一些报错

如果你还不会three.js的基础运用知识&#xff0c;可以看一下我的上一篇文章。 以下是我学习three.js所踩的一些坑&#xff0c;所以发出来希望能避免大家重蹈覆辙 &#xff0c;拒绝踩坑&#xff01; 目录 一、加载gltf三维模型时&#xff0c;报错404 其实是因为gltf格式文件…

threeJs 封装DRACOLoader加载

项目使用到3D模型加载渲染&#xff0c;故初学习了解之&#xff0c; 简单封装 代码如下 import * as THREE from "three"; import {OrbitControls} from "three/examples/jsm/controls/OrbitControls"; import {ShaderPass} from "three/examples/jsm/…

jsjsjsjs

length 用来获取字符串的长度 split(’ 分隔符’)用来将字符串拆分成数组 substring(需要截取的第一个字符的索引[,结束的索引号]) startsWith检测是否以某字符开头 endsWith检测是否以某字符结尾 函数 全局作用域&#xff1a;声明在全局的变量或者不使用var声明的变量在整个…

Three.js--》Gui.js库的使用讲解

目录 Gui.js库基本使用 使用three自带gui库实现基本操作 gui库实现下拉菜单和单选框 gui库分组方法实现 使用dat.gui第三方库 Gui.js库基本使用 gui.js说白了就是一个前端js库&#xff0c;对HTML、CSS和JavaScript进行了封装&#xff0c;学习开发3d技术时借助该库可以快速…

JSM的topic和queue的区别

在JMS&#xff08;Java消息服务&#xff09;中&#xff0c;Topic实现publish和subscribe语义。一条消息被publish时&#xff0c;它将发到所有感兴趣的订阅者&#xff0c;所以零到多个 subscriber&#xff08;电脑词汇中解释为“用户“&#xff09;将接收到消息的一个拷贝。但是…

小程序版 Three.js 框架下载及目录配置

1.库文件说明 由于微信官方提供的threejs适配库已经很久没有更新&#xff0c;而且开发者普遍反映使用起来很难用。 我这里分享的是独立的库文件&#xff0c;不需要npm安装&#xff0c;下载后将库文件放到项目中即可使用。 2.下载后的压缩包文件 3.解压后的文件夹结构 4.文件…

webpack使用Ammo.js - 在react中使用Ammo.js

真实麻烦啊 [我的项目仓库 Next.js项目 仅供参考](https://gitee.com/honbingitee/three-template-next.js/tree/feature%2Fphysics/)本文展示使用ammo.wasm.js 结合ammo.wasm.wasm的wasm版本使用方法1. 配置webpack2. 导出Ammo 修改ammo.wasm.js文件3. 删除语句 通过查找 this…

Vue里面使用threeJS 的 OrbitControls报错问题

vue使用 OrbitControls 首先需要按需引入 1、执行 npm install three --save-dev npm install three --save-dev 2 按需引入 import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js; 3 使用鼠标控制器 /*** 创建渲染…

JSM 2019 | 数据驱动在滴滴,详解智能出行时代的统计思维

桔妹导读&#xff1a;当地时间7月27日至8月1日&#xff0c;统计学领域顶级学术会议 JSM&#xff08;Joint Statistical Meetings&#xff09;在美国丹佛成功举行。丹佛是美国科罗拉多州的首府和最大城市&#xff0c;紧靠景色秀丽的落基山&#xff0c;气候宜人。平均海拔1610米&…

JM

第3章 JMX-MBean的HelloWorld实例 3.1 前言 Boss Connecter这个项目用到的技术还真够多的&#xff0c;这一章是要用到的JMX技术。什么是JMX&#xff1f;在一篇网文中是这样说的&#xff1a;“JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套…

Three.js--》实现3d圣诞贺卡展示模型

目录 项目搭建 初始化three.js基础代码 加载环境模型 设置环境纹理 添加水面并设置阴影效果 实现幽灵小球的运动 实现相机切换和文字切屏 实现漫天星星和爱心样式 今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目…

Three.js 点击模型,高亮发光模型外轮廓

最近在开发一个功能&#xff0c;在三维场景里有很多模型&#xff0c;需要点击模型&#xff0c;高亮对应的模型&#xff0c;代表选中了该模型。做起来还是稍微麻烦一些的。 具体效果 实现流程 主要的流程还是&#xff0c; Created with Raphal 2.3.0 开始 获取鼠标点 射线碰撞…

Three.js--》实现3d汽车模型展览搭建

目录 项目搭建 初始化three.js基础代码 添加汽车模型展示 动态修改汽车模型 今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能灵活将所学知识运用起来&#xff0c;话不多说直接开始。 项目搭建 本案例还是借助…

vue3中使用three.js

现在vue3的项目中&#xff0c;大部分是vitevue3typescriptpinia的技术栈 vue3项目中安装three.js pnpm i types/three three 注意&#xff1a;在package.json中查看他们的版本&#xff0c;如果版本不一致的话&#xff0c;可能导致ts不能识别three这个模块 导入three模块 impor…

three.js学习笔记(十九)——后期处理

介绍 后期处理是指在最终图像&#xff08;渲染&#xff09;上添加效果。人们大多在电影制作中使用这种技术&#xff0c;但我们也可以在WebGL中使用。 后期处理可以是略微改善图像或者产生巨大影响效果。 下面链接是Three.js官方文档中一些关于后期处理的示例&#xff1a; http…

JMM--

数据同步的八大原子操作 1.lock 作用于主内存中的变量&#xff0c;把一个变量标记为一条线程的独占状态。 2.unlock 作用于主内存中的变量&#xff0c;把一个处于锁定状态的变量释放出来&#xff0c;释放后的变量才能被其它线程锁定。 3.read 作用于主内存中的变量&#xff0c…

Three.js--》实现3d小岛模型搭建

目录 项目搭建 初始化three.js基础代码 设置环境背景 设置水面样式 添加天空小岛 今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能灵活将所学知识运用起来&#xff0c;话不多说直接开始。 项目搭建 本案例还…

JMS简介

jms即Java消息服务&#xff08;Java Message Service&#xff09;应用程序接口是一个Java平台中关于面向消息中间件&#xff08;MOM&#xff09;的API&#xff0c;用于在两个应用程序之间&#xff0c;或分布式系统中发送消息&#xff0c;进行异步通信。Java消息服务是一个与具体…

java jsm_JSM 基础

JMS即Java消息服务(Java Message Service)应用程序接口&#xff0c;是一个Java平台中关于面向消息中间件(MOM)的API&#xff0c;用于在两个应用程序之间&#xff0c;或分布式系统中发送消息&#xff0c;进行异步通信。Java消息服务是一个与具体平台无关的API&#xff0c;绝大多…