webpack基础学习

58 阅读1分钟

1、什么是webpack

webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler) 。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph) ,其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 本质上是一种前端资源编译、打包工具

image.png 2、webpack核心概念

(1)Entry:入口(Entry)指示 Webpack 以哪个文件为入口起点开始打包,分析构建内部依赖图。

(2)Output:输出(Output)指示 Webpack 打包后的资源 bundles 输出到那里去,以及如何命名。

(3)Loader:Loader 让 Webpack 能够去处理那些非 JavaScript 文件(webpack 自身只能理解JavaScript)

(4)Plugins:插件(Plugins)可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量等。

(5)mode:模式(Mode)指示 Webpack 使用相应模式的配置

3、webpack核心流程

(1)入口处理

从‘entry’文件开始,启动编译流程

(2)依赖解析

从‘entry’文件开始,根据‘require’ or ‘import’ 等 语句找到依赖资源

(3)资源解析

根据‘module’配置,调用资源转移器,将png,css等非 标准JS资源转译为JS内容

(4)资源合并打包

将转译后的资源内容合并打包为可直接在浏览器运行的JS文件