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中module、chunk和bundle的概念

    # webpack中module、chunk和bundle的概念

    image

    1. module

    Module是离散功能块,相比于完整程序提供了更小的接触面。精心编写的模块提供了可靠的抽象和封装界限,使得应用程序中每个模块都具有条理清楚的设计和明确的目的。

    其实简单来说,module模块就是我们编写的代码文件,比如JavaScript文件、CSS文件、Image文件、Font文件等等,它们都是属于module模块。而module模块的一个特点,就是可以被引入使用。

    1. chunk

    此 webpack 特定术语在内部用于管理捆绑过程。输出束(bundle)由块组成,其中有几种类型(例如 entry 和 child )。通常,块直接与输出束 (bundle)相对应,但是,有些配置不会产生一对一的关系

    其实chunk是webpack打包过程的中间产物,webpack会根据文件的引入关系生成chunk,也就是说一个chunk是由一个module或多个module组成的,这取决于有没有引入其他的module。

    1. Bundle

    bundle 由许多不同的模块生成,包含已经经过加载和编译过程的源文件的最终版本。

    bundle其实是webpack的最终产物,通常来说,一个bundle对应这一个chunk,但是也可能一个chunk的对应多个bundle,可能从一个文件中分离出其它文件出来。

    # 总结

    module,chunk 和 bundle 其实就是同一份逻辑代码在不同转换场景下的取了三个名字:

    • 我们直接写出来的是 module
    • webpack 处理时是 chunk
    • 最后生成浏览器可以直接运行的 bundle。

    # 参考文章链接

    万字长文,带你从零学习 Webpack (opens new window)

    ← webpack是什么、为什么选择它 说一下在webpack中的loader和plugin的不同→

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