Reactjs如何处理本地视频文件

San*_*ung 9 javascript reactjs

我需要一些帮助来处理reactjs中的本地视频文件...无法解决./assets/video.mp4错误...尝试了所有可能的方向..

这背后的想法是制作一个像https://www.w3schools.com/howto/howto_css_fullscreen_video.asp 但使用 Reactjs 的全屏视频。

视频.js

       import React from 'react';

       class Video extends React.Component {
       render(){
          return(
             <div className="myVideo">
                 <video controls autostart autoPlay src={this.props.src} type={this.props.type}/>
            </div>
             )
           }
         }

         export default Video;
Run Code Online (Sandbox Code Playgroud)

索引.js

      import React,{Component} from 'react';
import ReactDOM from 'react-dom';
import Video from './video';
import Robin from './assets/Robin.mp4'

const VIDEO = {
  src:Robin,
  type:'video/mp4'
 };

class App extends Component {
   constructor(props){
     super(props)
     this.state = {
       src: VIDEO.src,
       type:VIDEO.type
     }
   }

   render(){
     return(
       <div>
         <Video src={this.state.src} type={this.state.type}/>
       </div>
     )
   }

}
ReactDOM.render(<App />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

控制台错误:

./src/index.js 找不到模块:无法解析“C:\Users\sanjs\Desktop\landing-video\src”中的“./assets/*.mp4”

ikb*_*ben 19

  1. custom.d.ts在你的src目录下创建一个
  2. 将此代码粘贴到该文件中
declare module '*.mp4' {
  const src: string;
  export default src;
}
Run Code Online (Sandbox Code Playgroud)

那应该有效!

  • 如果您使用打字稿,这就是您来这里的目的。 (6认同)

小智 6

也许您有一些拼写错误,这是导入本地视频的代码,它工作正常

  import React from "react";
  import "./App.css";
  import Video from "./video.mp4";

  function App() {
    return (
      <div className="App">
          <video controls autostart autoPlay src={Video} type="video/mp4" />
      </div>
    );
  }

  export default App; 
Run Code Online (Sandbox Code Playgroud)

我将视频文件导入到 app.js 的同一目录中。也许这会对你有所帮助。