webpack基本概念
webpack是啥?
webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。(目前最流行的)
开发时,我们会使用框架(React、Vue),ES6 模块化语法,Less/Sass 等 css 预处理器等语法进行开发。
这样的代码要想在浏览器运行必须经过编译成浏览器能识别的 JS、Css 等语法,才能运行。
所以我们需要打包工具帮我们做完这些事。
除此之外,打包工具还能压缩代码、做兼容性处理、提升代码性能等。
基本使用
Webpack
是一个静态资源打包工具。
它会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去。
输出的文件就是编译好的文件,就可以在浏览器段运行了。
功能介绍
Webpack 本身功能是有限的:
- 开发模式:仅能编译 JS 中的
ES Module
语法 - 生产模式:能编译 JS 中的
ES Module
语法,还能压缩 JS 代码
开始使用
1. 资源目录
1 | webpack_code # 项目根目录(所有指令必须在这个目录运行) |
2. 创建文件
3. 下载依赖
打开终端,来到项目根目录。运行以下指令:
- 初始化
package.json
1 | npm init -y |
此时会生成一个基础的 package.json
文件。
需要注意的是 package.json
中 name
字段不能叫做 webpack
, 否则下一步会报错
- 下载依赖
1 | npm i webpack webpack-cli -D |
4. 启用 Webpack
- 开发模式
1 | npx webpack ./src/main.js --mode=development |
- 生产模式
1 | npx webpack ./src/main.js --mode=production |
npx webpack
: 是用来运行本地安装 Webpack
包的。
./src/main.js
: 指定 Webpack
从 main.js
文件开始打包,不但会打包 main.js
,还会将其依赖也一起打包进来。
--mode=xxx
:指定模式(环境)。
5. 观察输出文件
默认 Webpack
会将文件打包输出到 dist
目录下
基本配置
5 大核心概念
entry(入口)
指示 Webpack 从哪个文件开始打包
output(输出)
指示 Webpack 打包完的文件输出到哪里去,如何命名等
loader(加载器)
webpack 本身只能处理 js、json 等资源,其他资源需要借助 loader,Webpack 才能解析
plugins(插件)
扩展 Webpack 的功能
mode(模式)
主要由两种模式:
- 开发模式:development
- 生产模式:production
Webpack 配置文件
在项目根目录下新建文件:webpack.config.js
1 | // Node.js的核心模块,专门用来处理文件路径 |
Webpack 是基于 Node.js 运行的,所以采用 Common.js 模块化规范