# @dailymotion/vmap 中文文档

规范地址：https://npmcn.com/package/%40dailymotion/vmap/

版本：3\.3\.3
npm 元数据更新时间：2025-06-30T08:43:29.542Z
中文译文更新时间：2026-11-11T09:00:15.535Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40dailymotion/vmap
原文对照：https://npmcn.com/package/%40dailymotion/vmap/?lang=original
项目主页：https://github.com/dailymotion/vmap-js#readme
源码仓库：https://github.com/dailymotion/vmap-js

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

- 包体积（解压后）：39.9 kB，28 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=12\.22\.1
- 运行依赖：0 个
- 首次发布：2021-09-21T15:09:03.455Z
- 最新版本发布：2025-06-30T08:43:29.290Z
- 近 30 天下载量：35427（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

Javascript VMAP 解析器

## 安装

```sh
npm install @dailymotion/vmap
```

也可以使用：`pnpm add @dailymotion/vmap`、`yarn add @dailymotion/vmap`、`bun add @dailymotion/vmap`

## README

# VMAP Javascript 库

[![Build Status](https://img.shields.io/badge/build-passing-brightgreen)](https://travis-ci.org/dailymotion/vmap-js) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/vmap.svg)](https://badge.fury.io/js/vmap)

将 VMAP XML 文档分析为 Javascript 对象 。 符合 [VMAP 1.0.1 光谱](http://www.iab.net/media/file/VMAP.pdf)。 。 。 .

## 安装

用 npm 安装

```
npm install @dailymotion/vmap
```

## 使用量

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

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

```javascript
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` 目录](https://npmcn.com/package/%40dailymotion/vmap/dist/)(中文(简体) )

#### 浏览器

预先捆绑的VMAP-jsis版本可用: [`vmap-js.js`](https://npmcn.com/package/%40dailymotion/vmap/dist/vmap-js.js)。 。 。 .

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

```html
<script src="dist/vmap-js.js"></script>
```

```javascript
var vmap = new VMAP(vmapXML);
```

#### 节点

节点预装版也可用: [`vmap-js-node.js`](https://npmcn.com/package/%40dailymotion/vmap/dist/vmap-js-node.js)。 。 。 .

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

const vmap = new VMAP(vmapXML);
```

## 构建和测试

安装依赖 :

```
npm install
```

利用 [滚动](https://rollupjs.org/guide/en)。使用:

```
npm run-script build
```

以 :

```
npm test
```

## 常见问题

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

