webpack打包的基本使用
1. 配置打包的入口与出口
webpack的4.x版本中默认约定:
打包的入口文件为src -> index.js
打包的输出文件为 dist -> main.js
如果要修改打包的入口与出口,可以在webpack.config.js中新增如下配置信息:
2. 配置webpack自动打包功能
1. 运行 npm install webpack-dev-server -D 命令,安装支持项目自动打包的工具
2. 修改package.json -> scripts中的dev命令下:
3. 将src->index.html 中,script脚本的引入路径,修改为 “/buldel.js”
4. 运行npm run dev 命令,重新进行打包
5. 在浏览器中访问http://localhost:8080地址,查看自动打包效果
注意:
- webpack-dev-server 会启动一个实时打包的http服务器
- webpack-dev-server 打包生成的输入文件,默认放到项目根目录中,而且是虚拟的、看不见的
3. 配置html-webpack-plugin生成预览界面
1. 运行 npm install html-webpack-plugin -D命令,安装生成预览页面的插件
2. 修改webpack.config.js 文件头部区域,添加如下配置信息:
3. 修改 webpack.config.js文件中向外暴露的配置对象,新增如下配置节点:
4. webpack-配置自动打包相关的参数
配置自动打包相关的参数
5. webpack中的加载器介绍
1. 通过loader打包非js模块
在实际开发中,webpack默认只能打包处理以 .js后缀名结尾的模块,其他非.js后缀名结尾的模块,webpack默认处理不了,需要调用loader加载器才可以正常打包,否者会报错!
loader 加载器可以协助 webpack 打包处理特定的文件模块,比如:
- less-loader 可以打包处理 .less相关的文件
- sass-loader可以打包处理 .scss相关的文件
- url-loader可以打包处理css 中与url的相关文件
loader的调用过程
6. webpack加载器-打包处理css文件
- 运行 npm i style-loader css-loader -D 命令,安装处理css文件的loader
- 在webpack.config.js的module -> rules 数组中,添加loader规则如下:
其中,test表示匹配的文件类型,use表示对应要调用的loader
注意:
- use数组中指定的loader顺序是固定的
7. webpack加载器-打包和处理less文件
- 运行npm i less-loader less -D 命令
- 在webpack.config.js的module -> rules 数组中,添加loader规则如下:
8. webpack加载器-打包和处理scss文件
打包处理scss文件
运行 npm i sass-loader node-sass -D 命令
在webpack.config.js 的module -> rules 数据中 ,添加loader 规则如下:
如果有错误,就报npm切换到淘宝的地址下载,查看npm config get registrys是不是https://registry.npm.taobao.org/,再用cnpm下
9. 配置postCSS自动添加css兼容前缀
- 运行npm i postcss-loader autoprefixer -D 命令
- 在项目根目录中创建 postcss 的配置文件 postcss.config.js ,并初始化如下配置:
在 webpack.config.js 的module -> rules 数组中, 修改css的 loader 规则如下:
10. webpack加载器--打包样式表中的图片和字体文件
运行 npm i url-loader file-loader -D 命令
在webpack.config.js的module -> rules 数组中,添加 loader 规则如下:
- 其中 ?之后的是 loader 的参数项
- limit 用来指定图片的大小,单位是字节byte ,只有小于limit 大小的图片,才会被转为 base64图片
11. webpack加载器-打包处理js文件中的高级语法
- 安装babel转换器相关的包:npm i babel-loader @babel/core @babel/runtime -D
- 安装babel语法插件相关的包:npm i @babel/preset-env @babel/plugin-transform-runtime @babel/plugin-proposal-class-properties -D
- 在项目根目录中,创建babel配置文件 babel.config.js 并初始化基本配置如下:
4. 在webpack.config.js 的module -> rules 数组中,添加loader规则如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现