webpack 是一个静态资源打包工具。
他会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去。
输出的文件就是编译好的文件,就可以在浏览器端运行了。
我们将 webpack
输出的文件叫做 bundle
。
(将浏览器不识别的语法编译成识别的语法)
功能介绍
webpack
本身功能是有限的:
- 开发模式:仅仅能变易
js
中的ES Module
语法。 - 生产模式:能变易
js
中的ES Module
语法,还能压缩代码。
开始使用
1、资源目录
├── dist# 打包目录│ └── main.js# 打包文件├── package-lock.json├── package.json# 包配置文件├── public# 静态资源目录│ └── index.html└── src# 项目源码目录├── js# js文件目录│ ├── count.js│ └── sum.js└── main.js# 项目主文件
2、创建文件
● count.js
export default function count(x, y) {return x - y;}
● sum.js
export default function sum(...args) {return args.reduce((p, c) => p + c, 0);}
● main.js
import count from "./js/count";import sum from "./js/sum";console.log(5, 2);console.log(sum(1, 2, 3, 4));
3、下载依赖
打开终端,进入项目根目录,运行命令:
● 初始化 package.json
npm init -y
此时,会生成一个基础的package.json
文件。
需要注意的是package.json
中的name
字段不能叫做webpack
,否则下一步会报错(你的项目目录也不能叫package
)
● 下载依赖
npm i webpack webpack-cli -D
ps: -D
加入项目依赖
4、启用Webpack
● 开发模式(development
)
npx webpack ./src/main.js --mode=development
● 生产模式(production
)
npx webpack ./src/main.js --mode=production
npx webpack
:是用来运行本地安装webpack包的。
./src/main.js
:是制定webpack
从main.js
文件开始打包,但不会打包main.js,还会将其他依赖也一起打包进来。
--mode=xxx
:指定模式(环境)。
5、观察输出文件
默认webpack
会将文件打包输出到dist目录下,我们查看dist目录下的文件情况就OK了。
小结
webpack
本身功能比较少,只能处理js
资源,一旦遇到css
等其他资源就会报错。
所以我们学习webpack
,就是主要学习如何处理其他资源。