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

react概览webpack基础

react概览

课程介绍

webpack

构建依赖图->bundle

首屏渲染:

减少白屏等待时间

数据、结构、样式都返回。需要服务器的支持

性能优化

***webpack干的事情

模块化开发

优势:

多人团队协作开发

可复用

单例:全局冲突

闭包

模块导入的顺序

require.js

优点:自身处理了模块依赖

缺点:前置导入,把所有的模块先导入,才能把函数执行。期望一个模块导入成功就可以做该模块做的事情。

node.js中的common.js

什么时候用什么时候导入

ES6

导出方式

export语法:

必须先声明再同时导出

或者导出一个对象,对象key的值是已经定义的变量;然后key与值命名相同。

export default语法

import语法

webpack配置启动

npm install webpack

全局有冲突问题,一般推荐是本地安装

打包原理

基础配置&强缓存

零配置下,less编译成css、图片、es6转es5都无法处理……

相对地址:./ 或 ../

绝对地址:用path模块。你电脑上的地址

hash:打包后的文件创建hash名。利于强缓存机制下资源更新。

HTML打包编译

还得把js导入进来

基础配置:

如js自动导入,并且加上defer

多入口/出口配置

*devServer

打包编译优化压缩,自己本地启动一个web服务,用本地服务先把开发东西预览。

作用:

*proxy

以前缀区分

CSS全套处理方案

less预编译成css,css兼容:css3加前缀-moz等,@import、url特殊语法导入外部资源,css打包单独成文件或内嵌……

css-loader 处理@import 和url

style-loader 加到head里

postcss-loader 兼容前缀

全局的css在入口中基于模块规范引入

*css兼容

  1. browserlist:配置浏览器的兼容列表。告诉他我们要兼容哪些浏览器

  1. postcss-loader做相关的配置
  2. 并且加入autoprefixer插件

合并压缩打包

*抽离css

抽离css。替换style-loader:css代码依然在js中,只是动态创建了style标签。

JS兼容与优化

webpack自己处理合并压缩打包,

我们要处理的是js的兼容性。

babel

  1. es6转换成es6

presets: @babel/preset-env

  1. 内置api

如对promise进行重写

include和exclude

图片处理

打包dist目录

转成base64。图片需要先发网络请求图片资源编码然后渲染(不需要网络请求也不需要编码)

我们希望webpack帮我们这件事情代码还是图片路径但是最后打包base64

如果加入loaderwebpack不会处理图片

举例2个场景


http://www.kler.cn/a/540303.html

相关文章:

  • 深度整理总结MySQL——MySQL加锁工作原理
  • 激活函数 05 ——Swish
  • deepseek+kimi自动生成ppt
  • Golang 并发机制-7:sync.Once实战应用指南
  • 使用 Axios ——个人信息修改与提示框实现
  • ZooKeeper 的典型应用场景:从概念到实践
  • zynq tcp万兆网和ftp协议分析
  • 如何查看用户的详细身份信息
  • 向量数据库简单对比
  • fps动作系统9:动画音频
  • flutter 默认跳转封装
  • Powershell语言的数据库编程
  • Windows 本地部署大模型 OpenWebUI+Ollama
  • 游戏引擎学习第95天
  • 【GIS】本地部署nominatim地理编码服务
  • 【人工智能】python之set集合练习
  • 等级保护2.0|网络安全服务
  • pytorch torch.linalg模块介绍
  • pip3命令全解析:Python3包管理工具的详细使用指南
  • 【LeetCode 热题100】74:搜索二维矩阵(二分、线性两种方式 详细解析)(Go 语言实现)
  • 超越 DeepSeek V3 -->【Qwen2.5-Max】
  • 【快应用】原生广告下载状态监听案例
  • 证明: 极限的局部有界性
  • Faiss特征向量搜索
  • ESP-IDF学习记录(6)
  • Django开发入门 – 2.Django的Web应用项目架构