@brightcove/react-player-loader

中文文档
1.5.1发布于 2025/10/17Apache-2.0ESM + CJS近 30 天下载 20万

Blightcove 玩家的官方反应组件

中文使用文档
文档目录15 节
  1. Blightcove 玩家支持
  2. 目录
  3. 安装
  4. JSX的标准使用
  5. 道具
  6. attrs
  7. baseUrl
  8. manualReloadFromPropChanges
  9. 其他提案
  10. 提案更改的影响
  11. 查看演示
  12. 备选用途
  13. ES模块(不含JSX)
  14. 常见JS
  15. <script> 标记

@ brightcove/ react-player-loader (英语)

Build Status Greenkeeper badge

NPM

在浏览器中装入 Blightcove Player 的回放组件 .

Blightcove 玩家支持

这个图书馆 与 Blightcove 玩家加载器相同的支持特性。 。 。 .

目录

安装

无论您如何使用此组件, 唯一可用的是 npm .

npm install --save @brightcove/react-player-loader

JSX的标准使用

大多数反应应用程序使用JSX和由JSX提供的工具链 create-react-app。 。 。 .

安装后, import 模块并使用 ReactPlayerLoader 与您 React 应用程序中的其他组件相类似的组件 :

注: React编号 :ReactDOM 为: 没有 需要时, 它们仅用于显示完整的工作示例 !

import React from 'react';
import ReactDOM from 'react-dom';
import ReactPlayerLoader from '@brightcove/react-player-loader';

let reactPlayerLoader;
const onSuccess = function(success) {

  // The player object or iframe element (depending on embed type) can be
  // accessed in two ways.
  // 
  // From the success object passed to the `onSuccess` callback:
  console.log(success.ref);

  // As a property of the component instance:
  console.log(reactPlayerLoader.player);
};

reactPlayerLoader = ReactDOM.render(
  <ReactPlayerLoader accountId='1234678' onSuccess={onSuccess}/>,
  document.getElementById('fixture')
);

见 备选用途 以下列出使用这一构成部分的不太常见的方法.

道具

attrs

类型 : Object

为组件元素提供属性(道克).

例如,您可能想要自定义 className (默认情况下, "brightcove-react-player-loader") 通过在这样的组件上设置道具:

<ReactPlayerLoader attrs={{className: 'my-custom-class'}} />

baseUrl

类型 : string

用于为被嵌入的 Blightcove 玩家覆盖基础 URL .

大多数用户永远不会需要这个道具. 默认情况下,玩家会从布莱克科夫的玩家CDN(players.brightcove.net) (中文(简体) ).

manualReloadFromPropChanges

类型 : boolean

用于指定在道具更改后重新装入玩家是否会被手动处理. 这可以通过拨打 refToReactPlayerLoader.loadPlayer()。 。 。 .

见 提案更改的影响 下文列出道具变化的影响.

其他提案

上面没有说明的所有道具都交给 亮湾玩家加载器 有一些不同之处:

  1. 我们不能轻易暴露玩家加载者的承诺,所以你必须使用 onSuccess 财务报告和审定财务报表 onFailure 召回电话.
  2. 如果你不提供 onFailure callback, 失败将通过抛出错误处理 .
  3. 我们需要使用 refNode 财务报告和审定财务报表 refNodeInsert 内部,所以这些道具会被忽略.

提案更改的影响

当一个道具传递到这个组件时,它会产生两种效果之一:

  1. 处理/ 重新装入玩家 。 这是最常见的案例.
  2. 更新玩家状态(例如获取新视频).

以下道具将更新玩家状态 无 重装:

  • catalogSearch
  • catalogSequence
  • playlistId
  • playlistVideoId
  • videoId

所有其他道具变化,不包括 function's, 会导致一个完整的处理/ 重载 .

查看演示

该寄存器包括一个赤骨演示/实例页.

  1. 清除仓库
  2. 移动到仓库中
  3. 运行 npm install
  4. 运行 npm start
  5. 导航到 http://localhost:9999 在浏览器中

备选用途

ES模块(不含JSX)

安装后, import 并使用 ReactPlayerLoader 与您 React 应用程序中的其他组件相类似的组件 :

注: React编号 :ReactDOM 为: 没有 需要时, 它们仅用于显示完整的工作示例 !

import React from 'react';
import ReactDOM from 'react-dom';
import ReactPlayerLoader  from '@brightcove/react-player-loader';

const reactPlayerLoader = ReactDOM.render(
  React.createElement(ReactPlayerLoader, {
    accountId: '1234678',
    onSuccess(success) {
      // two ways to get the underlying player/iframe at this point.
      console.log(success.ref)
      console.log(reactPlayerLoader.player);
    }
  }),
  document.getElementById('fixture')
);

常见JS

安装后, require 并使用 ReactPlayerLoader 与您 React 应用程序中的其他组件相类似的组件 :

注: React编号 :ReactDOM 为: 没有 需要时, 它们仅用于显示完整的工作示例 !

var React = require('react');
var ReactDOM = require('react-dom');
var ReactPlayerLoader = require('@brightcove/react-player-loader');

var reactPlayerLoader = ReactDOM.render(
  React.createElement(ReactPlayerLoader, {
    accountId: '1234678',
    onSuccess: function(success) {
      // two ways to get the underlying player/iframe at this point.
      console.log(success.ref)
      console.log(reactPlayerLoader.player);
    }
  }),
  document.getElementById('fixture')
);

<script> 标记

本案极不可能被利用.

安装或从CDN装入后,使用 script 标记以包含模块到您的 HTML 中并使用全局 window.BrightcoveReactPlayerLoader 用于构建组件.

<div id="fixture"></div>
<script src="//path/to/react.min.js"></script>
<script src="//path/to/react-dom.min.js"></script>
<script src="//path/to/brightcove-react-player-loader.min.js"></script>
<script>
  var React = window.React;
  var ReactDOM = window.ReactDOM;

  var reactPlayerLoader = ReactDOM.render(
    React.createElement(window.BrightcoveReactPlayerLoader, {
      accountId: '1234678',
      onSuccess: function(success) {
        // two ways to get the underlying player/iframe at this point.
        console.log(success.ref)
        console.log(reactPlayerLoader.player);
      }
    }),
    document.getElementById('fixture')
  );
</script>

版本与发布记录

@brightcove/react-player-loader 共发布 17 个版本,首次发布于 2018/08/22;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.5.1latest2025/10/171.1 年前
1.5.02024/04/162 年前
1.4.22022/07/204 年前
1.4.12020/10/106 年前
1.4.02020/02/016 年前
1.3.02019/07/237 年前

关于 @brightcove/react-player-loader 的常见问题

@brightcove/react-player-loader 是什么?

Blightcove 玩家的官方反应组件

如何安装 @brightcove/react-player-loader?

在项目目录运行 npm install @brightcove/react-player-loader,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=15.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@brightcove/react-player-loader 支持 TypeScript 吗?

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

@brightcove/react-player-loader 支持 ESM 还是 CommonJS?

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

@brightcove/react-player-loader 可以商用吗?

@brightcove/react-player-loader 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@brightcove/react-player-loader 的下载量有多少?

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

@brightcove/react-player-loader 还在维护吗?

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