# webpack的 loader 和 plugin 区别
loader 加载器,webpack原生只能解析js文件, 通过配置一些加载器能加载和解析非js文件的能力
扩展webpack,让webpack更具灵活性 webpack构建过程中有很多事件, 可以去监听这些事件,在合适的时机通过webpackAPI改变输出结果
# webpack 常用插件
# webpack 如何做代码拆分
# webpack tree shaking 原理
# webpack 动态导入原理
# webpack 热更新原理,怎么找到对应的局部模块做更新的
# webpack5 新特性
# less-loader 的 less 转成 css 的底层原理
# Webpack bundle、chunk、module的区别
# hash/chunkhash/contenthash 的区别
hash 反映了项目的构建版本,因此同一次构建过程中生成的 hash 都是一样的。换句话说,如果项目里某个模块发生更改,触发项目的重新构建,那么文件的 hash 值将会相应地改变。如果使用 hash 策略,存在一个问题:即使某个模块的内容压根没有改变,但是重新构建后会产生一个新的 hash 值,使得缓存命中率较低。
针对以上问题,chunkhash 和 contenthash 就不一样了,chunkhash 会根据入口文件(Entry)进行依赖解析。
contenthash 则会根据文件具体内容,生成 hash 值。
# 推荐阅读
透过分析 webpack 面试题,构建 webpack5.x 知识体系 (opens new window)
webpack 十连问你能接住几题 (opens new window)
Webpack5核心打包原理全流程解析 (opens new window)
面试官:webpack原理都不会? (opens new window)
webpack loader 与plugin 开发实战 —— 点击 vue 页面元素跳转到对应的 vscode 代码 (opens new window)
← Webpack 知识综合一 基础知识 →