webpack5中 output assetModuleFilename属性有什么用
时间: 2024-03-07 18:49:46 浏览: 197
在 Webpack 5 中,'assetModuleFilename' 属性用于配置生成的资源文件(如图片、字体等)在输出目录中的文件名格式。默认情况下,Webpack 5 会将这些资源文件输出到 'output.path' 目录下,并根据文件类型以不同的文件名格式进行命名,例如:'[name][ext]'、'[name].[contenthash][ext]' 等。
通过配置 'assetModuleFilename' 属性,你可以自定义资源文件的输出文件名格式。该属性支持以下几种变量:
- '[hash]':资源内容的哈希值
- '[contenthash]':资源内容的哈希值,只有在资源内容发生变化时才会改变
- '[name]':资源的名称
- '[ext]':资源的后缀名
例如,可以通过以下配置将所有图片资源的文件名格式设置为 'images/[name].[contenthash][ext]':
```
module.exports = {
//...
output: {
assetModuleFilename: 'images/[name].[contenthash][ext]'
}
};
```
这样,所有图片资源都将被输出到 'output.path/images' 目录下,并且文件名以资源名称和内容哈希值为文件名,以资源后缀名为文件后缀名。
阅读全文