简单
1 .编译文件输出到磁盘的相关配置
module.exports = {
output: {
filename: '[name]_[chunkhash:8].js'
//单个文件名可直接指定,多入口利用占位符保证文件名统
//如何输出
一
path: path.join(__dirname, '../dist')
// 写入文件磁盘路径
//哪里输出
publicPath: 'http://cdn.example.com/assets/'
//资源使用 CDN ,给所有文件引入模版文件时加上路径前缀
//想把打包出来的资源放在cdn上面,比如想给打包出来的main.js,sub.js加上一个cdn前缀http://cdn.com.cn,就可以在publicPath添加这个
},
}
1 .name
2 .chunkhash:用来生成文件哈希值,浏览器会有缓存,下次请求的时候如果文件没有变化,会使用本地的缓存
hash
1 .hash对应每一次构建,每次编译都不同,即使文件内容不改变,也会改变,此时浏览器缓存无用,适合开发环境
2 .
chunkhash
1 .对应于webpack每个入口,每个入口都有自己的哈希值,如果在某一个入口文件创建的关系依赖图上存在文件内容发生了变化,那么相应入口文件的chunkhash才会发生变化,适合生产环境
2 .
contenthash
1 .根据包内容计算出的哈希值,只要包内容不变,contenthash就不变,适合生产环境
文件指纹
1 .打包之后输出的文件的后缀名
占位符含义
1 .ext:资源后缀名
2 .name:文件名称
3 .path:文件相对路径
4 .folder:文件所在文件夹
5 .emoji:一个随机的指代文件内容的emoj
网友评论