webpack 相关概念梳理

资源(Asset):用于图片,字体,媒体,其他类型的文件等。这些文件通常在output中输出为单个文件。
bundle: 由多个不同的模块生成,bundle包含了加载和编译过后的最终源文件版本。
bundle分离(Bundle Splitting):优化构建的方法。允许webpack为应用程序生成多个bundle。当其他某些bundle
改动时,彼此独立的另一些bundle不受影响。减少需要重新发布的代码量。

Chunk:这是 webpack 特定的术语被用在内部来管理 building 过程。bundle 由 chunk 组成,
其中有几种类型(例如,入口 chunk(entry chunk) 和子 chunk(child chunk))。通常 chunk 会直接对应所输出的 bundle,但是有一些配置并不会产生一对一的关系。

Code Splitting(代码分离):指将代码分离到每个 bundles/chunks 里面,你可以按需加载,而不是加载一个包含全部的 bundle

模块热替换(Hot Module Replacement(HMR)):  一个修改、添加或删除模块(modules)的过程,而正在运行中的应用程序无需重载加载整个页面。

Loaders:loader 允许你在 require() 或“加载”的文件之前,先预处理文件。就像“任务执行器(task-runner)”

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

模块解析(Module Resolution):一个模块可以作为另一个模块的依赖模块,resolver 是一个库( library )用于帮助找到模块的绝对路径... 模块将在 resolve.modules 中指定的所有目录内搜索。

Request:指 require/import 语句中的表达式,例如,在 require("./template/" + name + ".ejs") 中,request 指的是 "./template/" + name + ".ejs"。


模式(mode):提供mode配置选项,告知webpack使用相应模式的内置优化.
mode:development。会将process.env.NODE_ENV设为development。启用NamedChunksPlugin 和 NamedModulesPlugin。
mode:production。
会将 process.env.NODE_ENV 的值设为 production。启用 FlagDependencyUsagePlugin, FlagIncludedChunksPlugin, ModuleConcatenationPlugin, NoEmitOnErrorsPlugin, OccurrenceOrderPlugin, SideEffectsFlagPlugin 和 UglifyJsPlugin.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章