webpack5 配置流程学习一

webpack5 配置

1.初始化项目 配置流程

  1. 初始化webpack npm init -y 生成 初始化的package.json文件
    1. name不能是webpack,不然会和安装依赖起冲突
    2. main指的是打包的起始文件的入口地址
    3. 其他的默认就可以了

​ 2.安装webpack 依赖 npm i webpack webpack-cli -D 安装 webpack,和webpack-cli两个依赖

​ 3.打包dist文件 npx webpack ./src/main.js --mode=development

​ npx webpack ./src/main.js --mode=production

2.构建配置文件 webpack.config.js

  • 配置项构成

  • 1.入口 entry:‘’

  • 2.输出 output:{}

  • 3.加载器 module:[]

  • 4.插件:plugins:[]

  • 5.模式:mode

    注意:此时的打包命令 变成了 npx webpack (因为已经配置了数据项了)

3.处理样式资源

1.处理css资源

  • 下载包 命令行 npm i css-loader style-loader -D (用几个loader就下载几个)

2.处理less资源

  • 下载包 npm install less less-loader --save-dev

注意 use 可以加载多个loader loader 只能加载一个

3.处理sass资源

  • 下载包 npm install sass-loader sass webpack --save-dev

4 处理图片资源

  • 处理图片资源时,webpack5自带将图片打包成图片目录的功能,所以直接写配置项

    优化方式 ,设定转base64的图片的大小,这样可以优化请求数量,缺点是打包体积会变大

5.修改输出目录以及清空上次打包记录

  • 目的:方便管理代码,进行目录结构分块,js和css区分开

6.处理字体图标资源以及其他静态文件

7.处理js资源

1.Eslint

  • 新建文件 .eslintrc.* 文件名不能错

2.Babel 处理js版本兼容

  • npm install -D babel-loader @babel/core @babel/preset-env

8.处理html资源 (自动引入js)

npm install --save-dev html-webpack-plugin

9.搭建开发服务器–自动打包看到数据

  • 1.npm i webpack-dev-server -D

该配置后,启动命令就变成了 npx webpack serve 开发环境 在内存中生成 不会生成dist文件

10.搭建生产模式

编译的过程中 config 会被默认为目录下的一个 和 以前的原理一致

  • 因为这个指令比较繁琐

  • 运行环境的指令是 npx webpack serve --config ./config/webpack.dev.js

  • 打包环境的指令是 npx webpack serve --config ./config/webpack.prod.js

  • 导致太繁琐

    • 故设定指定指令在package.json下设定 npm start /npm run dev/npm run build
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DxsyJbG7-1661247051759)(C:\Users\11433\AppData\Roaming\Typora\typora-user-images\1661245154113.png)]

11.抽取css样式(避免白屏现象–处理数据)

  • npm install --save-dev mini-css-extract-plugin

  • 引入const MiniCssExtractPlugin = require(“mini-css-extract-plugin”); // 抽取css样式的插件

  • 因为采用的MiniCssExtractPlugin插件抽取样式 故将所有的style-loader 修改成MiniCssExtractPlugin.loader

  • 否则样式抽取不成功

  • 配置

样式的Css兼容性处理

  • 1.npm i postcss-loader postcss postcss-preset-env -D

1247051760)]

样式的Css兼容性处理

  • 1.npm i postcss-loader postcss postcss-preset-env -D
  • [外链图片转存中…(img-iLBifARO-1661247051761)]

猜你喜欢

转载自blog.csdn.net/weixin_44358678/article/details/126489549