# @3ddv/dvm 中文文档

规范地址：https://npmcn.com/package/%403ddv/dvm/

版本：2\.8\.5
npm 元数据更新时间：2026-06-03T08:29:42.606Z
中文译文更新时间：2026-11-05T21:29:24.243Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%403ddv/dvm
原文对照：https://npmcn.com/package/%403ddv/dvm/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：287 kB，8 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-10-26T14:45:41.016Z
- 最新版本发布：2026-06-03T08:29:42.432Z
- 近 30 天下载量：17748（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：123（近 12 个月 3 个）

## 中文简介

此软件包是可用的助手 [家庭暴力](https://docs.3ddvapis.com/js/dvm/)。与其只是将脚本添加到您的网站上,不如使用此软件包:

## 安装

```sh
npm install @3ddv/dvm
```

也可以使用：`pnpm add @3ddv/dvm`、`yarn add @3ddv/dvm`、`bun add @3ddv/dvm`

## README

# 读取

此软件包是可用的助手 [家庭暴力](https://docs.3ddvapis.com/js/dvm/)替换为 将脚本添加到您的网站上, 您可以使用此软件包 :

-   使用ES6进出口语法.
-   获取 Typescript 定义 .

使用这个软件包仍会继续从CDN下载核心DVM, 添加到您的网站上.

如果你用这个包, **你不能这样** 手动添加 `dvm.js` 脚本在你的html.

## 安装

`npm install --save @3ddv/dvm`

## 怎样用

此套件输出以下函数:

-   `loadModule`: 等值为 [`DVM.loadModule`](https://docs.3ddvapis.com/js/dvm/#instantiating-a-module)。 。 。 .
-   `allowFeatureDetection`数字 : `true` 默认. `false` 如果您想要完全禁用特性检测。 你必须 在装入任何模块前拨打它。 检查更多信息 [这里](https://docs.3ddvapis.com/js/dvm/#feature-detection)。 。 。 .
-   `useModernBuild`数字 : `false` 默认. `true` 如果您想要直接加载 ES2020+ 模块而不检查任何 特性检测。 在装入任何模块之前,必须先拨打它. 检查更多信息 [这里](https://docs.3ddvapis.com/js/dvm/#compilation-version)。 。 。 .
-   `setDVMVersion`: 您可以指定您要下载 DVM 的命名空间 . 默认将从 `stable`。它必须使用之前 首个 `loadModule` 电话. **你应该默认地离开它 除非我们有别的规定.** 这相当于 [包含特定的脚本](https://docs.3ddvapis.com/js/dvm/#manual-script-alternative)。 。 。 .
-   `setDefaultModuleVersion`: 您可以为特定模块指定默认版本分支。 默认情况下, 所有模块 用途 `stable` 树枝.
-   `setDefaultEnvironment`: 切换DVM从中下载的CDN环境. 默认为 `"pro"`。 。 。 .
-   `getBuiltinDVMVersion`: 返回内建版本的 DVM .
-   `getBuiltinModuleVersion`: 返回一个模块的内建版本.
-   `getDefaultModuleVersion`: 返回模块当前配置的默认分支.

`loadModule` 也接受以下覆盖全局默认的逐个调用选项:

-   `version` ——分行(如:. `"stable"`, (中文(简体) ), `"latest"`)或数字版本(例如. `"2.5.6"`为了这个电话.
-   `feature_detection: false` ——仅针对此呼叫而禁用特性检测.
-   `modern: true` ——要求ES2020+搭建本调用单元.
-   `polyfills` - 装入多填料块。 默认为 `true` 为ES5建造和 `false` eS2020+建筑;设置 明确取消.
-   `plugins` ——要预装模块的插件名称阵列. 每个模块都有自己的插件;参见模块的 文档.
-   `client_id` 3D数字地点为你提供了一个.

```javascript
import { loadModule, setDVMVersion, setDefaultModuleVersion } from "@3ddv/dvm";

setDVMVersion("stable"); // stable is already set by default
setDefaultModuleVersion("map_viewer", "stable");

loadModule("map_viewer", { container: "container-id" })
    .then((viewer) => {
        return viewer.loadMap({ venue_id: "venue" });
    })
    .then(() => {
        console.log("map loaded");
    });
```

## 特征检测和现代建设

从v2.8开始, `@3ddv/dvm` 不再执行任何特性检测本身,所以它永远不会尝试 改为 `eval` 或运行页面中的内置代码。 它从我们的CDN下载的DVM库确实执行 特性默认检测,但该工作被隔离在一个单独的文件中——如果被一个 浏览器扩展或CSP,其余装入器仍然运行.

特性检测可以完全关闭. 打电话 `allowFeatureDetection(false)` 在任何模块之前 跳动 :

```javascript
import { loadModule, allowFeatureDetection } from "@3ddv/dvm";

allowFeatureDetection(false);

loadModule("3d_viewer", { container: "container-id" });
```

每个电话也可以禁用:

```javascript
loadModule("3d_viewer", { container: "container-id", feature_detection: false });
```

当特性检测被禁用时,ES5架构默认会被下载. 你可以强迫 ES2020+ 与 `useModernBuild(true)` 或逐个呼叫 `modern: true` 旗帜 :

```javascript
import { loadModule, useModernBuild } from "@3ddv/dvm";

useModernBuild(true);

// or, per call:
loadModule("3d_viewer", { container: "container-id", modern: true });
```

## 内建版本

您可以指定此软件包发布的具体版本 :

```javascript
import { loadModule, setDVMVersion, setDefaultModuleVersion } from '@3ddv/dvm';

setDVMVersion('builtin');
setDefaultModuleVersion('map_viewer', 'builtin');
setDefaultModuleVersion('3d_viewer', 'builtin');

loadModule('map_viewer', { container: 'container-id' })
    .then((viewer) => {
      ...
    });
```

## 特定版本

您可以指定一个模块的特定数字版本.

```javascript
import { loadModule, setDVMVersion, setDefaultModuleVersion } from '@3ddv/dvm';

setDefaultModuleVersion('map_viewer', '2.5.6');

loadModule('map_viewer', { container: 'container-id' })
    .then((viewer) => {
      ...
    });
```

## 常见问题

### @3ddv/dvm 是什么？

此软件包是可用的助手 家庭暴力。与其只是将脚本添加到您的网站上,不如使用此软件包:

### 如何安装 @3ddv/dvm？

在项目目录运行 npm install @3ddv/dvm，或使用 pnpm add / yarn add / bun add。

### @3ddv/dvm 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @3ddv/dvm 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @3ddv/dvm 可以商用吗？

@3ddv/dvm 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @3ddv/dvm 的下载量有多少？

根据 npm 官方下载统计，@3ddv/dvm 在 2026/10/05 – 2026/11/03 这 30 天内被下载 17,748 次，日均约 592 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @3ddv/dvm 还在维护吗？

最新版本 2\.8\.5 发布于 2026/06/03（5 个月前）；至今共发布 123 个版本，其中过去 12 个月发布了 3 个；首次发布于 2023/10/26。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

