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

Webpack基础使用

目录

一.什么是Webpack

二.为什么要使用Webpack

三.Webpack的使用 

1.下载yarn包管理器

2.Webpack的安装

 3.Webpack的简单使用

4.效果

 四.Webpack打包流程


一.什么是Webpack

Webpack是一个静态模块打包工具

二.为什么要使用Webpack

在开发中,我们常常会遇到:

  • 使用sass和less语法书写样式需要转译
  • 使用es6及更高版本的语法来简化代码,浏览器无法识别
  • 项目体积大,不利于上线

webpack就可以解决上述问题:

  • 支持所有类型文件的打包
  • 支持less/sass => css
  • 支持ES6/7/8 => ES5
  • 压缩代码, 提高加载速度

由此可见,webpack就是前端开发人员技术库中的必需品

三.Webpack的使用 

在使用前需要安装node环境

1.下载yarn包管理器

npm i -g yarn

2.Webpack的安装

首先创建项目文件夹并在项目文件夹内初始化包环境

yarn init -y

安装 webpack 依赖包

 yarn add webpack webpack-cli -W -D

在 package.json 中, 配置 scripts 自定义打包命令

scripts: {"build": "webpack"
}

 3.Webpack的简单使用

新建 src/js.js ,写入并导出需要打包的代码,例如:

export const add = (a, b) => a + b

新建 src/index.js 导入使用 

// webpack打包的入口
import { add } from './js'
console.log(add(2, 3));

运行自定义打包命令

yarn build

4.效果

生成 dist 目录(与src文件夹同级)和其中的 main.js 文件

(()=>{"use strict";console.log(5)})();

 四.Webpack打包流程

  • 解析配置文件:Webpack 会读取并解析配置文件(通常是 webpack.config.js 文件),并根据配置生成一个 Compiler 对象
  • 读取入口文件:Webpack 根据配置中的入口文件,读取这些文件及其依赖的模块,并将它们组成一个依赖图
  • 解析模块依赖:Webpack 会根据模块之间的依赖关系,递归地解析它们的依赖,直到所有的依赖都被解析完毕
  • 加载模块:Webpack 会根据模块的路径,使用相应的 Loader 加载模块的源代码,并将其转换为 Webpack 可以处理的形式。
  • 转换代码:Webpack 会根据配置中的插件,对加载的模块进行一系列的转换操作,比如压缩、合并、优化等
  • 生成代码:Webpack 会将所有模块转换后的代码合并成一个或多个文件,并输出到指定的输出目录中
http://www.lryc.cn/news/269581.html

相关文章:

  • 扭蛋机小程序搭建:打造互联网“流量池”
  • 解决VNC连接Ubuntu服务器打开终端出现闪退情况
  • flutter是什么
  • GET和POST请求
  • 基于电商场景的高并发RocketMQ实战-Broker写入读取流程性能优化总结、Broker基于Pull模式的主从复制原理
  • 前端DApp开发利器,Ant Design Web3 正式发布 1.0
  • [RoarCTF 2019]Easy Java(java web)
  • Abaqus许可管理策略
  • 对采集到的温湿度数据,使用python进行数据清洗,并使用预测模型进行预测未来一段时间的温湿度数据。
  • 嵌入式SOC之通用图像处理之OSD文字信息叠加的相关实践记录
  • Java日期工具类LocalDateTime
  • 从C到C++1
  • [Angular] 笔记 18:Angular Router
  • 微服务全链路灰度方案介绍
  • 低代码开发OA系统 低代码平台如何搭建OA办公系统
  • 构建Python的Windows整合包教程
  • 《整机柜服务器通用规范》由OCTC正式发布!浪潮信息牵头编制
  • Linux:修改和删除已有变量
  • 【23.12.29期--Spring篇】Spring的 IOC 介绍
  • 【Python排序算法系列】—— 选择排序
  • 会议室占用时间段 - 华为OD统一考试
  • 计算机网络复习5
  • React Hooks 面试题 | 05.精选React Hooks面试题
  • 2024收入最高的编程语言
  • Android笔记(二十三):Paging3分页加载库结合Compose的实现分层数据源访问
  • Python实现马赛克图片处理
  • 你能描述下你对vue生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?
  • 【经典算法】有趣的算法之---蚁群算法梳理
  • 第八届视觉、图像与信号处理国际会议(ICVISP 2024) | Ei, Scopus双检索
  • 《HelloGitHub》第 93 期