如何在webpack中配置url-loader只转换一些文件夹?

时间:2017-03-01 14:38:03

标签: webpack urlloader webpack-file-loader

webpack.js

file.jpg:通过url-loader

转换为base64

file.png:使用文件加载器

只需使用ext来决定要转换的项目中的所有file.jpg。

但是如何处理file.gif?

的确,我想知道如何在webpack中配置url-loader来只转换某些文件夹或某些文件?但不仅仅是某些类型的所有文件。

抱歉,我的英语很差......

rules:{
    {
        test: /\.(png|svg|ttf|eot|woff|otf)$/,
        loader: 'file-loader',
        options: {
            name: '[path][name].[ext]?[hash]'
        }
    },
    {
        test: /\.(gif|jpg)$/,
        loader: 'url-loader',//url-loader?limit=30000
        options: {
            limit:30000,
            name: '[path][name].[ext]?[hash]',
        },
        exclude: ////don't know how to config
    }
}

Directory Structures

2 个答案:

答案 0 :(得分:2)

要排除一条路径:

exclude: /my_excluded_path/

要排除多条路径:

exclude: [
    /my_excluded_path/,
    /my_other_excluded_path/
]

排除特定的绝对路径而不是使用正则表达式:

exclude: path.resolve(__dirname, "my_excluded_path")

答案 1 :(得分:1)

排除特定的绝对路径,而不是使用正则表达式



{
    test: /\.(gif|jpg|png|svg|ttf|eot|woff|otf)$/,//(png|jpg|gif|svg)
    loader: 'file-loader',
    options: {
        name: '[path][name].[ext]?[hash]'
    },
    exclude:  [path.join(projectRoot, './vue/img')]
},
{
    test: /\.(gif|png|jpg)$/,
    loader: 'url-loader',
    options: {
        limit:30000,
        name: '[path][name].[ext]?[hash]',
    },
    exclude:  [path.join(projectRoot, './vue/image')]
}