当前位置: 首页 > news >正文

【webpack】wabpack5 知识梳理

1、简单介绍

默认功能

可处理 js、json文件,处理 js 文件引入将其打包;
可处理字体、图片、音视频等静态资源(webpack5有内置loader:asset);
将es6的import规范编译为浏览器可识别的commonjs规范
生产环境比开发环境打包多了代码丑化、压缩;

其他功能:可通过配置实现

1、webpack 如何处理样式文件?(预处理语言解析、抽离样式文件、样式兼容性、样式文件压缩)

npm install --save-dev less-loader less
npm install --save-dev mini-css-extract-plugin
npm install --save-dev postcss-loader postcss postcss-preset-env
npm install css-minimizer-webpack-plugin --save-dev
  • 添加对应loader,处理css、less、sass等样式资源到js出口文件,动态创建style标签
  • 可通过mini-css-extract-plugin将样式文件抽离,通过link标签引入,代替style-loader
  • 可通过postcss-loader,做css兼容性处理,同样使用智能预设postcss-preset-env,默认能兼容大部分浏览器,也可通过package.json中的browserslist添加兼容哪些浏览器;
  • 可通过css-minimizer-webpack-plugin,对样式进行压缩;

2、webpack 如何配置代码检查,统一代码规范?

npm install eslint-webpack-plugin --save-dev
# eslint >= 7
npm install eslint --save-dev
  • 添加插件:eslint-webpack-plugin+.eslintignore+.eslintrc.js
    • .eslintignore:如果安装了eslint对应的vscode插件,因为它不能读取webpack插件中设置的忽略文件,所以单独在项目中加该文件(此文件对vscode插件和webpack插件都有效)
    • .eslintrc.js:用于设置具体检查标准(对vscode插件和webpack插件都有效)
    • vscode插件检查代码规范:在编写代码时就能提示;
    • webpack插件检查代码规范:是在启动服务或者打包时生效,不符合就运行、打包失败;

3、webpack 如何处理 js 语法兼容性?

  • 使用loader,添加babel相关加载器来解析js,从而实现js的兼容、压缩等处理;
npm install -D babel-loader @babel/core @babel/preset-env
  • 同理,可以在使用相关loader时添加配置,不过通常在项目中添加配置文件,以便维护;如:babel.config.js

4、webpack 实现自动在html文件引入打包后的js、css等文件:使用插件``

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

五大核心

入口(entry):指定打包入口;
出口(output):指定打包输出文件目录、文件名;
转换器(loader):用于对模块的源代码进行转换,如处理样式、图片等静态资源;
插件(plugins):用于执行范围更广的任务,如打包优化,资源管理,注入环境变量;
模式(mode):默认值为 production,启用 webpack 内置在相应环境下的优化;

2、安装

  • “webpack”: “^5.89.0”
  • “webpack-cli”: “^5.1.4”
npm i webpack webpack-cli -D

3、配置介绍

可使用webpack默认配置,也可以通过创建webpack.config.js配置;

执行方式一:简单更改webpack配置

  • npm script脚本
"scripts": {
  "dev": "webpack ./src/main.js --mode=development",
  "build": "webpack ./src/main.js --mode=production",
},
  • 直接命令行
npx webpack ./src/main.js --mode=development
npx webpack ./src/main.js --mode=production
# 创建配置文件
npx webpack init

执行方式二:创建webpack.config.js添加自定义配置

  • 项目根目录创建配置文件
// webpack5 基本配置
module.exports = {
  // 入口
  entry: './src/main.js',
  // 输出
  output: {
    path: __dirname + '/dist',
    filename: 'bundle.js',
  },
  // 加载器
  module: {
    rules: [],
  },
  // 插件
  plugins: [],
  // 模式
  mode: 'development',
}

  • 直接执行webpack,自动使用该文件配置
npx webpack

后续更新常用webpack配置!

相关文章:

  • Linux使用wget下载文件时报错
  • 大数据之LibrA数据库常见术语(四)
  • Android 指定有线网或Wifi进行网络请求
  • RSA加密算法Python实现
  • 5G技术的飞速发展:连接未来
  • Centos7单节点快速安装fastdfs
  • MYSQL(事务+锁+MVCC+SQL执行流程)理解(2)
  • 智能巡检系统怎么用?如何让设备巡检维护更高效?
  • SpringBoot整合knife4j
  • Dockerfile
  • 编译无法加载主类的问题
  • 【前端】Layui小功能收集整理
  • Android Kotlin 协程初探 | 京东物流技术团队
  • 如何在不恢复出厂设置的情况下解锁 Android 手机密码?
  • JavaScript 原型链污染
  • 在pyqt中,self.label_3.setScaledContents(True),论lable打开内容尺寸适应的重要性
  • Java面试题-UDP\TCP\HTTP
  • 第1篇 目标检测概述 —(3)目标检测评价指标
  • JSX 列表渲染
  • 【1024程序员节特刊】算法题目易错之处干货总结
  • 工行一季度净赚841亿元降3.99%,营收降3.22%
  • 总有黑眼圈是因为“虚”吗?怎么睡才能改善?
  • 路边“僵尸车”被人以1450元卖了,嫌疑人被刑拘
  • 王毅:妥协退缩只会让霸凌者得寸进尺
  • 油电同智,安全超充!从上海车展看中国汽车产业先发优势
  • 加拿大驾车撞人事件遇难人数升到11人