Import via modules

本文介绍了如何使用npm安装Three.js,并通过Webpack或Browserify等工具进行模块化导入的方法,帮助开发者有效管理项目依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Import via modules

虽然通过<script>标签导入three.js是一个好办法,但是这种方式在寿命较长的项目中有致命的缺点,比如:

  • 需要手动获取,而且必须将代码保存一份在你的项目中
  • 需要手动更新版本号
  • 当检查新的版本库时,版本控制差异会导致代码混乱

使用npm这种依赖管理器可以避免这些,只需要将想用的版本下载并导入到项目中即可。

Installation via npm

Three.js发布了npm 模块,可以看npm。这意味着,使用three.js只需要添加three.js包在项目中,然后执行”npm install three”

Importing the module

在使用允许以”require(‘module’)”方式引入依赖的构建工具中,比如说Webpack 或者Browserify ,可以像普通文件一样导入three.js到文件中。

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

也可以使用 ES6 Import syntax

import * as {THREE} from 'three';
const scene = new THREE.Scene();

或者你只想引入three.js的一部分,比如说Scene:

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

Caveats

目前无法使用这种方式来导入”examples/js”中的文件。这是因为一些文件依赖three的 global namespace pollution(?)。从这里可以了解到更详细的信息Transform examples/js to support modules #9562

D:\anaconda\envs\yolo8\lib\site-packages\timm\models\layers\__init__.py:48: FutureWarning: Importing from timm.models.layers is deprecated, please import via timm.layers warnings.warn(f"Importing from {__name__} is deprecated, please import via timm.layers", FutureWarning) Traceback (most recent call last): File "D:/SoftData/ultralytics-main1/train.py", line 1, in <module> from ultralytics import YOLO File "D:\SoftData\ultralytics-main1\ultralytics\__init__.py", line 5, in <module> from ultralytics.data.explorer.explorer import Explorer File "D:\SoftData\ultralytics-main1\ultralytics\data\__init__.py", line 3, in <module> from .base import BaseDataset File "D:\SoftData\ultralytics-main1\ultralytics\data\base.py", line 19, in <module> from .utils import FORMATS_HELP_MSG, HELP_URL, IMG_FORMATS File "D:\SoftData\ultralytics-main1\ultralytics\data\utils.py", line 19, in <module> from ultralytics.nn.autobackend import check_class_names File "D:\SoftData\ultralytics-main1\ultralytics\nn\__init__.py", line 3, in <module> from .tasks import ( File "D:\SoftData\ultralytics-main1\ultralytics\nn\tasks.py", line 16, in <module> from .modules.ASFFHead import Detect_ASFF File "D:\SoftData\ultralytics-main1\ultralytics\nn\modules\__init__.py", line 20, in <module> from .block import ( File "D:\SoftData\ultralytics-main1\ultralytics\nn\modules\block.py", line 968, in <module> from timm.models.layers.norm import LayerNorm2d ModuleNotFoundError: No module named 'timm.models.layers.norm'
最新发布
04-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值