Webpack的文件指纹
1. 什么是文件指纹?
文件指纹就是打包后输出的文件名的后缀,主要用来对修改后的文件做版本区分。
2. 文件指纹有哪几种?
1. Hash:和整个项目的构建相关,只要项目文件有修改,整个项目构建的 hash 值就会更改,一般用于图片设置;
2. Chunkhash:与 webpack 打包的 chunk 有关,不同的 entry 会生成不同的 chunkhash 值,一般用于设置JS文件;
3. Contenthash:根据文件内容来定义 hash ,文件内容不变,则 contenthash 不变,一般用于设置CSS文件;
3. JS的文件指纹设置;
-
;
-
-
const path = require('path');
-
-
module.exports = {
-
entry: {
-
index: './src/index.js',
-
search: './src/search.js'
-
},
-
output: {
-
path: path.join(__dirname, 'dist'),
-
// 设置chunkhash,长度为8位
-
filename: '[name]_[chunkhash:8].js'
-
}
-
};
4. CSS的文件指纹设置;
-
;
-
-
const path = require('path');
-
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
-
-
module.exports = {
-
-
entry: {
-
index: './src/index.js',
-
search: './src/search.js'
-
},
-
-
output: {
-
path: path.join(__dirname, 'dist'),
-
filename: '[name]_[chunkhash:8].js'
-
},
-
-
plugins: [
-
new MiniCssExtractPlugin({
-
// 设置CSS为contenthash,长度为8位
-
filename: '[name]_[contenthash:8].css'
-
})
-
]
-
};
5. 图片的文件指纹设置;
图片文件的指纹设置使用file-loader,常用的占位符的含义如下:
图片的文件指纹设置如下:
-
;
-
-
const path = require('path');
-
// npm i mini-css-extract-plugin -D
-
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
-
-
module.exports = {
-
entry: {
-
index: './src/index.js',
-
search: './src/search.js'
-
},
-
output: {
-
path: path.join(__dirname, 'dist'),
-
// 设置JS的文件指纹为chunkhash,长度为8位
-
filename: '[name]_[chunkhash:8].js'
-
},
-
mode: 'production',
-
module: {
-
rules: [
-
{
-
test: /.js$/,
-
use: 'babel-loader'
-
},
-
{
-
test: /.css$/,
-
use: [
-
// 去掉style-loader,将CSS单独提取一个文件
-
MiniCssExtractPlugin.loader,
-
'css-loader'
-
]
-
},
-
{
-
test: /.less$/,
-
use: [
-
// 去掉style-loader,将CSS单独提取一个文件
-
MiniCssExtractPlugin.loader,
-
'css-loader',
-
'less-loader'
-
]
-
},
-
{
-
test: /.(png|jpg|gif|jpeg)$/,
-
use: [
-
{
-
loader: 'file-loader',
-
options: {
-
// 设置的图片指纹为hash,长度为8位
-
name: '[name]_[hash:8].[ext]'
-
}
-
}
-
]
-
},
-
{
-
test: /.(woff|woff2|eot|ttf|otf)$/,
-
use: [
-
{
-
loader: 'file-loader',
-
options: {
-
// 设置字体的指纹为hash,长度为8位
-
name: '[name]_[hash:8][ext]'
-
}
-
}
-
]
-
}
-
]
-
},
-
plugins: [
-
// 将CSS提取出来一个文件
-
new MiniCssExtractPlugin({
-
filename: '[name]_[contenthash:8].css'
-
})
-
]
-
};
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiaeaeg
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22