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

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.lryc.cn/news/534660.html

相关文章:

  • DeepSeek 助力 Vue 开发:打造丝滑的步骤条
  • STM32的HAL库开发---高级定时器---互补输出带死区实验
  • Vue07
  • 【CXX-Qt】2 CXX-Qt #[cxx_qt::bridge] 宏指南
  • 鸿蒙接入支付宝SDK后模拟器无法运行,报错error: install parse native so failed.
  • 局域网使用Ollama(Linux)
  • Deepseek系列从v3到R易背面经版
  • Redis深入学习
  • 《从入门到精通:蓝桥杯编程大赛知识点全攻略》(十一)-回文日期、移动距离、日期问题
  • 在Uniapp中使用阿里云OSS插件实现文件上传
  • 9 数据流图
  • IDEA查看项目依赖包及其版本
  • 【数据结构】_栈与队列经典算法OJ:栈与队列的互相实现
  • SAP-ABAP:ROLLBACK WORK使用详解
  • DeepSeek R1 Distill Llama 70B(免费版)API使用详解
  • 如何避免大语言模型中涉及丢番图方程的问题
  • flutter 获取网络图片的尺寸
  • MySQL主从同步+binlog
  • 实践深度学习:构建一个简单的图像分类器
  • 蔚来C++面试题及参考答案
  • C# Winform怎么设计串口,客户端和相机控件界面显示
  • C++字符串相关内容
  • 利用二分法进行 SQL 时间盲注
  • 数据库管理-第293期 奇怪的sys.user$授权+(20250210)
  • react实例与总结(一)
  • 电路研究9.3——合宙Air780EP中的AT开发指南(含TCP 示例)
  • Qt 数据库SQLite 使用【01】基本功能
  • stm32小白成长为高手的学习步骤和方法
  • 大模型产品Deepseek(五)、本地安装部署(Docker方式)
  • Kafka 的消费offset原来是使用ZK管理,现在新版本是怎么管理的?