webpack 打包去掉hash以后图片文件后面增加7位数字?
在webpack中打包去掉hash编码以后图片还是会生成一个.7位数字,个人猜想是保证静态资源唯一的值,但没有找到确定的文档证明,有没有大神指点一下呢?
回答:
“打包去掉 hash 编码以后图片还是会生成一个.7位数字”,
楼主说的去掉 hash 编码是不是只是去掉了,output.filename 的 hash 配置?
如果想要去掉图片的 hash,需要这样配置。举例较新的 webpack4和5
webpack4:
可参考文档 url-loader,file-loader,
一般来说图片资源会使用 url-loader 来进行配置(url-loader 封装了 file-loader,用来转换一些小图片资源为base64,减少 http 请求)。
options.name 的默认值为 [contenthash].[ext]
module: { rules: [
{
test: /\.(png|jpe?g|gif)$/i,
loader: 'url-loader',
options: {
// 这样子配置就没有 hash 了
name: 'imgs/[name].[ext]',
limit: 10 * 1024,
}
}
]
}
webpack5:
webpack5 目前已经将几个 loader 糅合成一个内置的 module,参考 资源模块
一般来说图片资源会使用类型 asset 来进行配置(asset有个判断条件 dataUrlCondition,和 webpack4 的 url-loader limit 概念是一致的)
generator.filename 的默认值为[hash][ext][query]
module: { rules: [
{
test: /\.(pngjp?eg|gif)$/i,
type: 'asset',
generator: {
filename: 'imgs/[name][ext]'
},
parser: {
dataUrlCondition: {
maxSize: 10 * 1024
}
}
}
]
}
以上是 webpack 打包去掉hash以后图片文件后面增加7位数字? 的全部内容, 来源链接: utcz.com/p/936608.html