加载视频mp4 webpack加载器

时间:2018-04-20 13:59:31

标签: webpack webpack-4 webpack-loader

如何使用webpcak 4的mp4视频格式的加载器,我尝试这样:

       {
            test: /\.mp4$/,
            use: 'file-loader',
            loader: 'file-loader?name=videos/[name].[ext]',
        },

并像这样导入

import pressButtonAnimated from './images/pressButtonAnimated.mp4'

但它对我不起作用,我收到错误You may need an appropriate loader to handle this file type.

但是这个对我有用,但我不想在每个文件中添加

import pressButtonAnimated from '-!file-loader!./images/pressButtonAnimated.mp4'

2 个答案:

答案 0 :(得分:5)

您如何申报装载机是不对的。您正在混合使用两种方法来定义加载器。

 {
        test: /\.mp4$/,
        use: 'file-loader?name=videos/[name].[ext]',
 },

请你试试。

链接: https://webpack.js.org/concepts/loaders/

答案 1 :(得分:1)

我们可以像这样使用文件加载器,这样我们就可以给它提供选项名称和路径。

{
    test: /\.mp4$/,
    use: [
        {
            loader: "file-loader",
            options: {
                name: "[name].[ext]",
                outputPath: "video"
            }
        }
    ]
}

出于某种原因,如果您在 html 中编写视频标签

<video class="">
    <source src="video/video.mp4" type="video/mp4">
</video>

它不会在 webpack 中加载,但我们可以使用 html-loader 如下

{
    test: /\.html$/,
    exclude: /node_modules/,
    use: [
        {
            loader: "html-loader",
            options: {
                attributes: {
                    list: [
                        {
                            tag: "source",
                            attribute: "src",
                            type: "src"
                        }
                    ]
                }
            }
        }
    ]
}

我们也可以使用 url-loader 但它只加载通过 css 添加的图片和视频。

PS:如果你找到了一个带有 src 属性的 html 标签的解决方案,将它与文件加载器一起使用,那就太好了。