videojs 是一个非常好的js库,可以支持各种格式的视频播放,也能做直播流。官网地址 https://videojs.com/
在vue项目中也可以使用 vue-video-player ,更好的与vue结合使用,封装成了相应的组件,git: https://github.com/surmon-china/vue-video-player
根据官方文档的提示:
npm install vue-video-player --save
安装相应的依赖,配置相应的options,和方法。
这写起来一切都是那么的爽,没有问题。但是在执行 npm run build 之后,就会发现,vendor-async 文件占用过大,达到了900多K
使用 npm run build --report 分析,发现就是videojs占用过大
进一步的研究,发现,video.min.js 源文件只有190KB,vue-video-player.js 只有6KB,但是打包只有就会变成900多KB。
我的解决思路是:将video,min.js 和 vue-video-player.js 单独拿出来放在static目录下,在 index.html中引入
<!-- Include the videojs library -->
<script src="./static/video.min.js"></script>
<!-- videojs JS Vue -->
<script src="./static/vue-video-player.js"></script>
在mian.js 中注册组件
// global video-player components
Vue.use(window.VueVideoPlayer);
将组件中引入的组件删除
再执行npm run build
文件大小从 965KB 变为 36.4KB,文件大小明显小了很多,如果公司有条件,可以将video.min.js 和 vue-video-player.js 放在cdn服务器上,通过cdn加速,会更快。
参考: