一、webpack核心概念组成
入口(Entry)
出口(Output)
加载器(Loader)
插件(Plugins)
模式(Mode)
模块(Module)
依赖图(Dependency Graph)
二、webpack核心概念—入口
打包时,第一个被访问的源码文件
默认是src/index.js(可以通过配置文件指定)
webpack通过入口,加载整个项目的依赖
三、webpack核心概念—出口
打包后,输出的文件名称
默认是dist/main.js(可以通过配置文件指定)
四、webpack核心概念—loader
专门用来处理一类文件(非JS)的工具
webpack默认只能识别JS,想要处理其他类型的文件,需要对应的loader
命名方式:xxx-loader(css-loader | html-loader | file-loader)
以 -loader 为后缀
常用加载器:https://www.webpackjs.com/loaders/
五、webpack核心概念—plugin
实现loader之外的其他功能,plugin是webpack的支柱,用来实现丰富的功能。
命名方式:xx-webpack-plugin(html-webpack-plugin),以-webpack-plugin为后缀
常用插件:https://www.webpackjs.com/plugins/
注:Loader和Plugin本质上都是npm包。
六、webpack核心概念—模式
用来区分环境的关键字,不同环境的打包逻辑不同,因此需要区分。
三种模式:development(自动优化打包速度,添加一些调试过程中的辅助)
production(自动优化打包结果)
none(运行最原始的打包,不做任何额外处理)
七、webpack核心概念—模块
webpack中,模块的概念比较宽泛(一切皆为模块)
JS模块、一段CSS、一张图片、一个字体文件、······
详情:https://www.webpackjs.com/concepts/modules/