hgq's docs
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)

guoguoqiqi

漫不经心的向往
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)
  • webpack是什么、为什么选择它
  • webpack中module、chunk和bundle的概念
  • 说一下在webpack中的loader和plugin的不同
  • webpack 三种hash的区别
    • webpack基本核心概念
    • webpack工作机制
    • 常用的Loader
    • 常用的Plugin
    • webpack配置与优化实践
    • webpack热更新原理
    • 如何配置webpack热更新
    • 如何提升webpack构建速度
    • babel中polyfill的作用
    • npm和yarn的对比
    • 如何减小打包体积提高页面加载速度
    • 介绍SourceMap
    • 搭建一个前端工程
    • 自定义loader
    • 自定义plugin
    • 相关面试题集合
    • 相关文档网站
    • 对比一下webpack、vite、rollup等构建工具.md
    • loader、plugin的区别,以及编写的思路
    • css-loader和style-loader的区别
    • url-loader和file-loader的区别
    • webpack代码分割和公共代码提取
    • Webpack
    guoguoqiqi
    2022-02-14

    webpack 三种hash的区别

    # webpack 三种hash的区别

    1. hash的作用

    可以配合浏览器缓存带给用户带来更佳的用户体验,根据文件来生成对应的hash值以此来告诉浏览器要不要读区缓存。

    1. hash的配置方式

    一般是配置在输入文件名字:

    output: {
      filename: "[name].[chunkhash].js"
    },
    
    1
    2
    3
    1. 三种hash的含义
    • hash

    每个文件都具有相同的哈希值,因为它[hash]是基于我们使用的所有的源文件生成的。

    如果重新运行该构建而不更改任何内容,则生成的[hash]值保持不变。

    如果我们仅编辑一个文件,则【hash】值发生改变,并且所有生成捆绑的名称中都包含此新【hash】。

    • chunkhash

    chunkhash是根据不同的入口进行依赖文件解析,构建对应的chunk模块,生成对应的hash值

    我们可以把一些公共库和程序入口文件区分开来,单独打包构建,然后采用chunkhash方式生成hash值,只要我们不改动公共库的代码,就可以保证其hash值不受影响,这样也能起到缓存作用。

    • contenthash

    每个生成的文件的名称都有一个唯一的hash值,该hash值是根据该文件的内容计算得出的。

    当构建的文件内容发生改变时,就会生成新的hash值,且该文件的改变并不会影响和它同一个模块下的其它文件。

    1. 三种hash的区别
    • hash是跟整个项目的构建相关,只要项目里有文件更改,整个项目构建的hash值都会更改,并且全部文件都公用相同的hash值。

    • chunkhash是根据不同的入口进行依赖文件解析,构建对应的chunk模块,生成对应的hash值,只有被修改的chunk模块在重新构建之后才会生成新的hash值,不会影响其他的chunk。

    • contenthash是跟每个生成的文件相关,每个文件拥有唯一的hash值,且该文件的改变并不会影响和它同一个模块下的其它文件。

    ← 说一下在webpack中的loader和plugin的不同 webpack基本核心概念→

    最近更新
    01
    vuex数据持久化怎么做
    05-22
    02
    vue的动态路由怎么配置使用
    05-22
    03
    vue权限控制一般怎么做
    05-22
    更多文章>
    Theme by Vdoing | Copyright © 2022-2022 Guoquoqiqi | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式