@dailymotion/vmap

中文文档
3.3.3发布于 2025/06/30MITCommonJS零依赖近 30 天下载 3.5万

Javascript VMAP 解析器

中文使用文档
文档目录9 节
  1. 安装
  2. 使用量
  3. API 密码
  4. 虚拟地图
  5. VMAPAd 断层
  6. VMAPAd 来源
  7. 支持和兼容性
  8. 预先捆绑的版本
  9. 构建和测试

VMAP Javascript 库

Build Status code style: prettier License: MIT npm version

将 VMAP XML 文档分析为 Javascript 对象 。 符合 VMAP 1.0.1 光谱。 。 。 .

安装

用 npm 安装

npm install @dailymotion/vmap

使用量

提供 VMAP 构造一个 XML 以获得解析版本 .

访问 VMAP 使用下面记录的 APIs 属性.

import VMAP from '@dailymotion/vmap';

// Fetch VMAP as XML
fetch(vmapURL)
    .then(response => response.text())
    .then(xmlText => {
        // Get a parsed VMAP object
        const parser = new DOMParser();
        const xmlDoc = parser.parseFromString(xmlText, 'text/xml');
        const vmap = new VMAP(xmlDoc);
    })
    .catch(error => {
        console.error('Error fetching VMAP:', error);
    });

API 密码

虚拟地图

属性

  • version: VMAP版本(应为1.0).
  • adBreaks: 数组 VMAPAdBreak 对象.
  • extensions: 数组 Object 与
    • children数字 : Object 包含所有这些扩展子和他们的名字作为关键
    • attribute数字 : Object 包含所有此扩展属性及其名称为密钥
    • value数字 : Object 从 CDATA 解析或作为倒置的此扩展的所有文本节点

VMAPAd 断层

提供广告休息信息.

属性

  • timeOffset:表示广告休息时间.
  • breakType: 识别广告中断是否允许"线","非线"或"播放"等广告.
  • breakId: 广告中断的可选字符串标识符.
  • repeatAfter: 用于分配广告的选项, 在一个线性时间线上, 彼此间间隔相同 .
  • adSource页:1 VMAPAdSource 对象.
  • trackingEvents: 数组 Object 有跟踪 URL
    • event: 要跟踪元素的事件名称。 可以是breakStart,breakEnd 或出错之一.
    • uri:追踪器的URI.
  • extensions: 数组 Object 与
    • children数字 : Object 包含所有这些扩展子和他们的名字作为关键
    • attribute数字 : Object 包含所有此扩展属性及其名称为密钥
    • value数字 : Object 从 CDATA 解析或作为倒置的此扩展的所有文本节点

方法

  • track(event, errorCode): 使用选项错误代码参数为 error 事件.

VMAPAd 来源

向玩家提供内置的广告响应或引用的广告响应.

属性

  • id:广告源的ad标识符.
  • allowMultipleAds:说明VAST的广告播客或Multple自助的广告可以服务到广告休息.
  • followRedirects:表示视频播放器是否应当遵守广告响应中的重定向.
  • vastAdData:包含嵌入式VAST响应.
  • adTagURI:包含一个URI到 VAST.
  • customData:包含自定义广告数据.

支持和兼容性

该库100%用JavaScript写出,源代码使用现代特性如: modules, (中文(简体) ), classes, ecc... . . . . . 确保您的环境支持这些特性, 或者在捆绑您的工程时转接库 .

预先捆绑的版本

我们提供了图书馆的几个预先分拆的版本(见http://www.un.org) dist 目录(中文(简体) )

浏览器

预先捆绑的VMAP-jsis版本可用: vmap-js.js。 。 。 .

您可以将脚本直接添加到您的页面,并通过 VMAP 建筑师.

<script src="dist/vmap-js.js"></script>
var vmap = new VMAP(vmapXML);

节点

节点预装版也可用: vmap-js-node.js。 。 。 .

const VMAP = require('@dailymotion/vmap')

const vmap = new VMAP(vmapXML);

构建和测试

安装依赖 :

npm install

利用 滚动。使用:

npm run-script build

以 :

npm test

版本与发布记录

@dailymotion/vmap 共发布 4 个版本,首次发布于 2021/09/21;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.3.3latest2025/06/301.4 年前
3.3.22025/01/231.8 年前
3.3.12022/10/144 年前
3.3.02021/09/215 年前

关于 @dailymotion/vmap 的常见问题

@dailymotion/vmap 是什么?

Javascript VMAP 解析器

如何安装 @dailymotion/vmap?

在项目目录运行 npm install @dailymotion/vmap,或使用 pnpm add / yarn add / bun add。

@dailymotion/vmap 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/dailymotion__vmap 是否存在。

@dailymotion/vmap 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dailymotion/vmap 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=12.22.1。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dailymotion/vmap 可以商用吗?

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

@dailymotion/vmap 的下载量有多少?

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

@dailymotion/vmap 还在维护吗?

最新版本 3.3.3 发布于 2025/06/30(1.4 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/09/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。