私はローカルのファイルから反応するアプリケーションでレンダリングするhtml5ビデオを取得する方法を理解できないようです。文字通り、私は仕事にこれを取得することができた唯一の方法は、このようなものです:Webpackを使用してReactでローカルビデオを読み込む方法は?
<video src="http://www.w3schools.com/html/movie.mp4" controls />
ここで私が直接
<video src={require('path/to/file.mp4')} controls />
パスを含む
1.を試みたものです
これはエラーを返します
Module parse failed: /path/to/file.mp4 Line 1: Unexpected token ILLEGAL
You may need an appropriate loader to handle this file type.
これはブラウザ
GET http://localhost:3000/530c2bf99dad0f857d46940b62b84946.mp4 404 (Not Found)
に次のエラーを吐き出すWebPACKのコンフィグ
{
test: /\.(mp4)$/,
loader: 'file'
// loader: 'url-loader'
// loader: 'url-loader?limit=100000'
// loader: 'file-loader'
// loader: 'file-loader?name=videos/[name].[ext]'
},
に一度にこれらローダーいずれかを追加
直接URLをファイルに追加しようとしました
<video src={require('http://localhost:3000/path/to/file.mp4')} controls />
それでもエラー:
Module not found: Error: Cannot resolve module 'http://localhost:3000/path/to/file.mp4' in path/to/file.mp4
4.私は私のWebPACKの設定like this person did
{
test: /\.jpe?g$|\.gif$|\.png$|\.ico|\.svg$|\.woff$|\.ttf$|.mp4$/,
loader: 'url-loader?limit=8192'
}
が、運
でMP4の拡張子を追加してみました
5.私はwebpack-isomorphic-toolsの実装を開始しましたが、これが正しい方向であるかどうかはわかりませんでしたので、私はそれを一時停止しました。この男はこのように働いているようです。 (see file)
私はまたfile-loader
は、ビデオファイルをロードすることloader conventions下のWebPACKのマニュアルに気づきました。 これは、webpackが.mov, .vob, .avi, etc.
のような他のビデオタイプをロードしないことを意味しますか?
コードをご覧になりたい場合はhere's the repositoryです。
リソース
- Webpack Docs: Loader Conventions
- Add a WebM and MP4 loader to the default Webpack config
- Loading mp4 video in to
video
tag w/ File loader - Unable to load resources via file-loader
"は、この平均のWebPACKは、など.MOV、.VOB、.AVI、などの他のビデオの種類をロードしませんでしょうか?" ---それは意味しません:webpackは、 'test'が通過するとすぐにファイル名をどのようにマッチさせるか気にしません。 – zerkms
私はあなたの 'テスト'正規表現が間違っていると思います。 '/ \。(png | jpg | jpeg | gif | svg | mp4)$ /'を試してみてください。 – Dai
@Dai何が問題なのですか? – zerkms