国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

webpack與video.js一同使用的一些坑

MorePainMoreGain / 1235人閱讀

摘要:是一個(gè)優(yōu)秀的視頻播放器庫(kù),不過(guò)官網(wǎng)的示例中,是作為全局變量引入的。如果我們的項(xiàng)目使用風(fēng)格的模塊,用來(lái)做打包的話,就需要做一些額外的工作。本文介紹我在使用的時(shí)候遇到的一些坑。這個(gè)是用來(lái)處理文件的。第二種方法是使用,直接把全局變量暴露出來(lái)。

video.js是一個(gè)優(yōu)秀的視頻播放器庫(kù),不過(guò)官網(wǎng)的示例中,是作為全局變量videojs引入的。如果我們的項(xiàng)目使用ES6風(fēng)格的模塊,用webpack來(lái)做打包的話,就需要做一些額外的工作。本文介紹我在使用的時(shí)候遇到的一些“坑”。

基本使用方法

直接從npm安裝video.js,然后就可以在代碼中使用video.js了。

npm install video.js --save
import videojs from "video.js";

videojs(document.getElementById("foo"));
引入默認(rèn)皮膚樣式

但是這樣使用并沒(méi)有引入video.js的皮膚樣式文件,播放器是沒(méi)有界面的。

所以還需要引入CSS文件:

import "video.js/dist/video-js.css";

另外需要注意的是,因?yàn)镃SS中使用了圖標(biāo)字體,還需要用webpack的file-loader處理字體文件。在webpack配置文件中添加這樣的loader配置:

{
  test: /.(ttf|eot|svg|woff(2))(?[a-z0-9]+)?$/,
  loader: "file",
}
引入Flash播放器的SWF文件

對(duì)于一些HTML5播放器播放不了的格式,video.js回調(diào)用Flash播放器去播放器,這樣就需要引入一個(gè)SWF文件。方法還是用file-loader。在之前的配置中加上swf擴(kuò)展名:

{
  test: /.(swf|ttf|eot|svg|woff(2))(?[a-z0-9]+)?$/,
  loader: "file",
}

然后在代碼中配置SWF文件的路徑:

import SWF_PATH from "video.js/dist/video-js.swf";

videojs.options.flash.swf = SWF_PATH;
引入vtt.js

如果使用Flash播放器,video.js還會(huì)異步請(qǐng)求一個(gè)vtt.js文件。這個(gè)是用來(lái)處理WebVTT文件的。

這個(gè)JS文件的路徑的配置方法跟上面的SWF文件的配置方法是類似的。但是,webpack默認(rèn)會(huì)對(duì)JS文件打包,而我們需要的是通過(guò)file-loader來(lái)引入這個(gè)JS文件,從而獲得其形對(duì)路徑,所以要在import語(yǔ)句中指定具體的loader:

import VTTJS_PATH from "file!videojs-vtt.js/dist/vtt.min.js";

videojs.options["vtt.js"] = VTTJS_PATH;
引入其他語(yǔ)言翻譯

video.js包含了很多種語(yǔ)言的本地化,但是沒(méi)有包含在庫(kù)中,需要我們自己加載:

import "video.js/dist/lang/zh-CN";

這樣加載的問(wèn)題是,本地化JS代碼中使用了videojs這個(gè)全局變量,但是webpack并沒(méi)有將其暴露,所以運(yùn)行會(huì)報(bào)錯(cuò)。

解決這個(gè)問(wèn)題有兩種方法,在webpack的文檔有所提及。

第一種方法是使用imports-loader,在import一個(gè)JS的時(shí)候,注入一個(gè)全局變量:

import "imports?videojs=video.js!video.js/dist/lang/zh-CN"

這樣的語(yǔ)句,就是告訴webpack,將videojs這個(gè)全局變量指向video.js這個(gè)模塊。這樣就不會(huì)報(bào)錯(cuò)。

第二種方法是使用ProvidePlugin,直接把全局變量暴露出來(lái)。

在webpack的配置文件中,增加這樣的plugin配置:

new webpack.ProvidePlugin({
  videojs: "video.js",
}),

這樣就表示把video.js模塊暴露為全局變量videojs。

使用插件

video.js有很多插件,他們一般也會(huì)使用videojs這個(gè)全局變量。因此如果直接引入也會(huì)報(bào)錯(cuò)。解決方法跟上一部分“引入其他語(yǔ)言翻譯”的方法一樣,在此不贅述。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/81044.html

相關(guān)文章

  • 基于 Node+express 爬蟲數(shù)據(jù) API,爬一套自己api數(shù)據(jù)(2)

    摘要:目前半島局勢(shì)緊張,朝鮮已進(jìn)行了六次核試驗(yàn),被廣泛認(rèn)為已經(jīng)擁有了核彈頭。另外朝鮮的導(dǎo)彈技術(shù)今年以來(lái)快速突破,成功試射了射程可覆蓋美國(guó)本土的洲際彈道導(dǎo)彈。這個(gè)版的內(nèi)容傳到互聯(lián)網(wǎng)上后,迅速刷屏,引起紛紛議論。 SplderApi2 Node-SplderApi2 第二版 基于Node 的網(wǎng)絡(luò)爬蟲 API接口 包括前端開發(fā)日?qǐng)?bào)、kugou音樂(lè)、前端top框架排行、妹紙福利、搞笑視頻、段子笑話、...

    beanlam 評(píng)論0 收藏0
  • 記錄一波video.js使用及問(wèn)題

    摘要:最近的項(xiàng)目中需要播放視頻,鑒于元素的一些坑及不想自己造輪子,于是就找到了端播放視頻使用量最多的插件,是國(guó)外開發(fā)者開發(fā)的,英語(yǔ)本身就不好的我看英文文檔簡(jiǎn)直是折磨,國(guó)內(nèi)又沒(méi)有中文文檔,能搜的到的基本是簡(jiǎn)單的使用及最基本的的介紹,想要實(shí)現(xiàn)一些自定 最近的項(xiàng)目中需要播放視頻,鑒于html5元素的一些坑及不想自己造輪子,于是就找到了web端播放視頻使用量最多的插件video.js,video.j...

    crossoverJie 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<