【问题标题】:How to play a local video in Vue-plyr?如何在 Vue-plyr 中播放本地视频?
【发布时间】:2021-12-24 17:35:28
【问题描述】:

我可以让vue-plyr 使用这样的 youtube 视频:

<template>
  <section id="vision" class="vision">
    <vue-plyr>
      <div data-plyr-provider="youtube" data-plyr-embed-id="bTqVqk7FSmY"></div>
    </vue-plyr>
  </section>
</template>

但是当我尝试使用doc 中描述的本地视频时:

<template>
  <section id="vision" class="vision">
    <vue-plyr :options="options">
      <video
        controls
        crossorigin
        playsinline
      >
        <source
          size="1080"
          src="../../videos/cgi_neutral.mp4"
          type="video/mp4"
        />
      </video>
    </vue-plyr>
  </section>
</template>

我收到一个错误:

Uncaught Error: Module parse failed: Unexpected character ' ' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
(Source code omitted for this binary file)
    at Object../resources/videos/cgi_neutral.mp4 (app.js:92053)
    at __webpack_require__ (app.js:92132)
    at Module../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/vue/sections/vision.vue?vue&type=template&id=0c8fcfd8&scoped=true (app.js:39037)
    at __webpack_require__ (app.js:92132)
    at Module../resources/vue/sections/vision.vue?vue&type=template&id=0c8fcfd8&scoped=true (app.js:87992)
    at __webpack_require__ (app.js:92132)
    at Module../resources/vue/sections/vision.vue (app.js:87291)
    at __webpack_require__ (app.js:92132)
    at Module../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/vue/index.vue?vue&type=script&setup=true&lang=js (app.js:36141)
    at __webpack_require__ (app.js:92132)
./resources/videos/cgi_neutral.mp4 @ app.js:92053
__webpack_require__ @ app.js:92132
./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/vue/sections/vision.vue?vue&type=template&id=0c8fcfd8&scoped=true @ app.js:39037
__webpack_require__ @ app.js:92132
./resources/vue/sections/vision.vue?vue&type=template&id=0c8fcfd8&scoped=true @ app.js:87992
__webpack_require__ @ app.js:92132
./resources/vue/sections/vision.vue @ app.js:87291
__webpack_require__ @ app.js:92132
./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/vue/index.vue?vue&type=script&setup=true&lang=js @ app.js:36141
__webpack_require__ @ app.js:92132
./resources/vue/index.vue?vue&type=script&setup=true&lang=js @ app.js:87384
__webpack_require__ @ app.js:92132
./resources/vue/index.vue @ app.js:86765
__webpack_require__ @ app.js:92132
./resources/js/router.js @ app.js:39210
__webpack_require__ @ app.js:92132
./resources/js/app.js @ app.js:39103
__webpack_require__ @ app.js:92132
(anonymous) @ app.js:92297
__webpack_require__.O @ app.js:92169
(anonymous) @ app.js:92299
(anonymous) @ app.js:92301

This git issue 说要安装 scss-loader 但我已经有了:

"sass-loader": "^12.2.0"

我做错了什么?

【问题讨论】:

    标签: html vue.js vuejs3 plyr.js vue-plyr


    【解决方案1】:

    你能把文件 mp4 放在公共文件夹吗?并且可以通过带有 url 之类的浏览器访问它 localhost:8000/videos/cgi_neutral.mp4 , 然后嵌入到组件中:

     <source
         size="1080"
         src="/videos/cgi_neutral.mp4"
         type="video/mp4"
     />
    

    比使用 loader 和 webpack + file-loader 更好

    【讨论】:

    • 哇哦,解决了。谢谢陌生人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多