一、webpack简介
webpack 是基于模块化的打包 (构建)工具 ,它把一切视为模块 它通过一个开发时态的入口模块 为起点,分析出所有的依赖关系,然后经过一系列的过程(压缩、合并),最终生成运行时态的文件。
webpack的特点:
- 为前端工程化而生: webpack 致力于解决前端工程化,特别是浏览器端工程化中遇到的问题,让开发者集中注意力编写业务代码,而把工程化过程中的问题全部交给 webpack 来处理。
- 简单易用: 支持零配置,可以不用写任何一行额外的代码就使用 webpack 。
- 强大的生态: webpack 是非常灵活、可以扩展的, webpack 本身的功能并不多,但它提供了一些可以扩展其功能的机制,使得一些第三方库可以融于到 webpack 中。
- 基于 nodejs : 由于 webpack 在构建的过程中需要读取文件,因此它是运行在 node 环境中的。
- 基于模块化: webpack 在构建过程中要分析依赖关系,方式是通过模块化导入语句进行分析的,它支持各种模块化标准,包括但不限于 CommonJS 、 ES6 Module 。
二、webpack的安装和使用
安装:
webpack 通过 npm 安装,它提供了两个包:
- **webpack:**核心包,包含了 webpack 构建过程中要用到的所有 api ;
- **webpack-cli:**提供一个简单的 cli 命令,它调用了 webpack 核心包的 api ,来完成构建过程。
安装方式:
- 全局安装: 可以全局使用 webpack 命令,但是无法为不同项目对应不同的 webpack 版本;
- 本地安装:推荐 ,每个项目都使用自己的 webpack 版本进行构建
本地安装步骤:
1.新建一个文件夹,在该文件夹目录下使用 cmd 命令进入窗口;
2.在打开的窗口中输入 npm init 进行项目初始化;
javascript
npm init // 初始化
3.安装 webpack 依赖
javascript
npm i -D webpack webpack-cli // 安装依赖
使用:
javascript
webpack // npx webpack
默认情况下, webpack 会以 ./src/index.js 作为入口文件分析依赖关系,打包到 ./dist/main.js 文件中。
通过 --mode 选项可以控制 webpack 的打包结果的运行环境。默认是生产环境。
javascript
npx webpack --mode=development // 开发环境打包
npx webpack --mode=production// 生产环境打包
一般在 package.json 文件中进行脚本配置。
javascript
"scripts": {
"dev":"webpack --mode=development",
"build":"webpack --mode=production"
},
配置后可以用 npm 命令进行开发环境和生产环境打包。
javascript
npm run dev // 开发环境打包
npm run build // 生产环境打包