如何防止Webpack在我的输出文件夹中生成图像?

时间:2016-09-29 08:45:30

标签: webpack urlloader webpack-file-loader

当我启动webpack时,它会编译我的scss个文件并将小文件转换为base64。但是,它还会将/img文件夹中的大图像复制到输出文件夹中。我怎样才能阻止webpack这样做?我希望webpack在图像文件夹中留下对原始图像的引用,而不是将它们复制到输出文件夹中。

webpack创建看起来像这样的文件(在输出文件夹中):

5474fbe2d9c2987bc9345fb6cf66fd25.png

这是我的webpack配置文件:

module.exports = {
context: path.join(__dirname, "/www"),
entry: [
    "./src/base/style.scss",
],
output: {
    filename: "bundle.css",
    path: path.join(__dirname, "/www/dist")
},
devtool: "source-map",
resolve: {
    extensions: ["", ".scss"]
},
module: {
    loaders: [
        {
            test: /\.(scss|sass)$/,
            loader: ExtractTextPlugin.extract('style-loader', 'css-loader', 'sass-loader', 'postcss-loader', 'raw-loader'),
            exclude: /node_modules/
        },
        {
            test: /\.(png|jpeg|jpg|gif|...)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
            loader: 'url-loader?limit=2000'
        }
    ],
    preLoaders: [
        { test: /\.(scss)$/, loader: "source-map-loader" }
    ]
},
postcss: function () {
    return [autoprefixer, precss];
},
sassLoader: {
    includePaths: [path.join(__dirname, 'www/src')]
},
plugins: [
    new webpack.optimize.DedupePlugin(),
    new ExtractTextPlugin('bundle.css')
]
}

1 个答案:

答案 0 :(得分:0)

将限制设置为1并设置名称

{
    test: /\.(png|jpeg|jpg|gif|...)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
    loader: 'url-loader',
    query: {
      limit: 1, 
      name: 'img/[name].[ext]?[hash:5]', 
    }
}