three.js 模块导入:从 NPM 安装到 ES6 语法详解

作者:函数茶馆时间:2026-10-22 09:57:58浏览:524

本文详解 three.js 的模块导入方式。对比传统 script 标签引入的不足,介绍通过 NPM 安装库文件的方法。结合 Webpack 或 Browserify 打包工具,演示如何使用 require 和 ES6 import 语法导入整个库或特定组件(如 Scene),并指出 examples/js 目录下的文件因依赖全局命名空间暂不支持模块导入。

前言

前言

本文主要介绍 three.js 通过模块导入的相关方法。虽然使用 script 标签引入 three.js 是快速上手和运行的便捷方式,但对于需要长期维护的项目而言,这种方式存在局限性,例如:

  • 必须手动调用并引入库的副本,将其作为项目源码的一部分进行管理。
  • 更新库版本时,需要手动执行操作,过程较为繁琐。
  • 引入新版本库后,本地版本管理与源文件之间的差异容易变得混乱。

采用 NPM 等依赖管理工具可以有效避免上述版本管理方面的问题。

通过 NPM 安装

通过 NPM 安装

three.js 已作为 npm 模块发布,具体信息可参考 npm 官网。关于 npm 的卸载与安装步骤,读者可参考相关文章:https://www.jb51.net/article/90518.htm,此处不再赘述。安装成功后,只需运行 npm install three,three.js 即可包含在项目之中。

导入模块

导入模块

假设你使用 Webpack 或 Browserify 等打包工具,这些工具允许你在代码中使用 require('modules') 引用打包后的所有依赖项。

此时,你应当能够在源码中正常导入模块并进行开发。


var THREE = require('three');
var scene = new THREE.Scene();

你也可以使用 ES6 的导入语法来实现模块引用。


import * as THREE from 'three';

const scene = new THREE.Scene();

若只需导入 three.js 库中的部分功能,例如仅导入 Scene 类,代码如下:


import {Scene} from 'three';
const scene = new Scene();

注意事项

警告

目前无法通过在 "examples/js" 目录下导入所有文件来支持模块。原因是部分文件依赖全局命名空间 THREE,这会导致命名空间污染。详细信息请参阅 Transform examples/js to support modules #9562。

总结

总结

以上就是本文的全部内容,希望这些内容对大家的 three.js 学习或工作有所帮助。如有疑问,欢迎留言交流,感谢支持。

作者最新文章