前端构建工具webpack(持续更新)
基础篇
一、webpack是啥?
webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。
二、如果你还不知道webpack是什么,为什么要学习webpack,请走下面的绿色通道
https://baijiahao.baidu.com/s?id=1708753582745612917&wfr=spider&for=pc
三 、在学习webpack 你可能要了解三个专业术语
module:提供比完整程序接触面(surface area)更小的离散功能块。精心编写的模块提供了可靠的抽象和封装界限,使得应用程序中每个模块都具有条理清楚的设计和明确的目的。
chunk:这是 webpack 特定的术语被用在内部来管理 building 过程。bundle 由chunk 组成,其中有几种类型(例如,入口 chunk(entry chunk)和子 chunk(child chunk))。通常 chunk 会直接对应所输出的 bundle,但是有一些配置并不会产生一对一的关系。
bundle:由多个不同的模块生成,bundles 包含了早已经过加载和编译的最终 源文件版本。
四、大约你可能会在编译打包的时候遇到这样的错误
webpack : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\webpack.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
解决办法:
以管理员身份打开powershell(通过快捷方式右键就可以看到了)
出入 Set-ExecutionPolicy RemoteSigned命令修改权限为RemoteSigned
五、 webpack里面的五大核心概念
1、entry入口(Entry)指示 webpack 以哪个文件为入口起点开始打包,分析构建内部依赖图
2、Output输出(Output)指示 webpack 打包后的资源 bundles 输出到哪里去,以及如何命名。
3、Loader Loader 让 webpack 能 够 去 处 理 那 些 非 JavaScript 文 件 (webpack 自 身 只 理 解 JavaScript)
4、Plugins 插件(Plugins)可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量等。
5、Mode development/production
以下例子是如何自定义一个webpack.config.js文件
六、安装webpack
在此之前你需要搭建node环境,这里就不说了~~
1、初始化package.json 终端输入npm init
2、下载安装webpack
npm install webpack webpack-cli-g 全局安装
npminstallwebpackwebpack-cli-D 局部安装