webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用。
新建项目
1 | mkdir test_proj |
安装webpack
1 | npm install webpack webpack-cli webpack-dev-server |
搭建项目目录结构
新建目录
1 | mkdir config dist src |
创建入口html、js
文件
1 | touch dist/index.html src/index.js |
webpack打包
在package.json
中添加webpack打包命令
1 | { |
配置完成后执行命令
1 | npm run build |
webpack默认入口文件为src/index.js
,默认打包模式为development
,共有两种模式
- development
- production
webpack配置介绍
webpack配置文件
主要有四个核心概念:
- 入口:打包文件的入口,支持多人口
- 输出:打包后的输出位置
- 加载器:针对对应的文件进行转义,解析成浏览器识别的文件
- 插件:解决loader无法实现的其他事
创建配置文件
1 | touch config/webpack.dev.js |
启动服务查看前端项目
使用webpack-dev-server
可以在打包项目后自动启动一个服务器来查看前端项目,配置如下
1 | { |
在package.json
添加指令
1 | { |
常用loader
loader转换非js文件,执行顺序从后到前
babel
转换js版本
CSS
- style-loader 将JS字符串转换为style节点插入html中生成内联样式
- css-loader 将CSS转换为CommonJS,可以直接使用import/require导入
资源文件loader
- file-loader 文件处理
- url-loader url链接处理
常用插件
插件的功能更为强大,可以实现打包优化、压缩
- htmlWebpackPlugin 将html模板和js文件整合在一起
参考
- https://juejin.cn/post/6844903791318269959
- https://blog.csdn.net/Charissa2017/article/details/105055945