@3ddv/dvm

中文文档
2.8.5发布于 2026/06/03MITTypeScriptESM + CJS零依赖近 30 天下载 1.8万

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

中文使用文档
文档目录5 节
  1. 安装
  2. 怎样用
  3. 特征检测和现代建设
  4. 内建版本
  5. 特定版本

读取

此软件包是可用的助手 家庭暴力替换为 将脚本添加到您的网站上, 您可以使用此软件包 :

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

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

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

安装

npm install --save @3ddv/dvm

怎样用

此套件输出以下函数:

  • loadModule: 等值为 DVM.loadModule。 。 。 .
  • allowFeatureDetection数字 : true 默认. false 如果您想要完全禁用特性检测。 你必须 在装入任何模块前拨打它。 检查更多信息 这里。 。 。 .
  • useModernBuild数字 : false 默认. true 如果您想要直接加载 ES2020+ 模块而不检查任何 特性检测。 在装入任何模块之前,必须先拨打它. 检查更多信息 这里。 。 。 .
  • setDVMVersion: 您可以指定您要下载 DVM 的命名空间 . 默认将从 stable。它必须使用之前 首个 loadModule 电话. 你应该默认地离开它 除非我们有别的规定. 这相当于 包含特定的脚本。 。 。 .
  • 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数字地点为你提供了一个.
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) 在任何模块之前 跳动 :

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

allowFeatureDetection(false);

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

每个电话也可以禁用:

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

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

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

useModernBuild(true);

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

内建版本

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

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) => {
      ...
    });

特定版本

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

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

setDefaultModuleVersion('map_viewer', '2.5.6');

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

版本与发布记录

@3ddv/dvm 共发布 123 个版本,首次发布于 2023/10/26;过去 12 个月发布了 3 个版本。

版本发布日期距今
2.8.5latest2026/06/035 个月前
2.8.32026/05/145 个月前
2.7.82025/11/1911 个月前
2.7.72025/10/281 年前
2.7.62025/08/251.2 年前
2.7.42025/05/071.5 年前

关于 @3ddv/dvm 的常见问题

@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 和提交记录判断。