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.pswp.cn/news/895188.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895188.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895188.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ASP.NET Core SignalR實踐指南

Hub類的生命周期是瞬態的,每次調用集線器的時候都會創建一個新的Hub類實例,因此不要在Hub類中通過屬性、成員變量等方式保存狀態。如果服務器的壓力比較大,建議把ASP.NET Core程序和SignalR服務器端部署到不同服務器上,以免它們互…

常見的九種二極管

常見的九種二極管 文章目錄 常見的九種二極管1、普通二極管2、光電二極管(LED)3、變容二級管4、發光二極管5、恒流二極管6、快恢復二極管(FRD)7、肖特基二極管8、瞬態電壓抑制二極管(TVS)9、齊納二極管(穩壓&#xff0…

LabVIEW在呼吸機測試氣體容量計算

在呼吸機測試中,精確測量氣體容量變化是評估設備性能的關鍵步驟。通過監測呼吸機氣道內的壓力變化,并結合流阻和肺順應性等參數,可以計算出單位時間內的氣體容量變化。本案例基于LabVIEW實現該計算過程,以確保測試數據的準確性和一…

本地部署DeepSeek R1 + 界面可視化open-webui

本地部署DeepSeek R1 界面可視化open-webui ollama是物理機本地安裝 open-webui是容器啟動 另外,用docker 部署ollama也很方便ollama docker 安裝部署ollama ollama官網 安裝 Linux上安裝: curl -fsSL https://ollama.com/install.sh | sh使用命令行管理 拉…

第四十九章:橫店之旅:穿越時空的歡樂時光

自黃山之行結束后,小冷一家又回歸到了忙碌而又溫馨的日常生活中。小冷在杭州灣研發總部的工作愈發忙碌,項目一個接著一個,時常需要加班加點,但每當他回到家中,看到小澤澤可愛的笑臉和小一充滿活力的身影,一…

Python3 ImportError: cannot import name ‘XXX‘ from ‘XXX‘

個人博客地址&#xff1a;Python3 ImportError: cannot import name XXX from XXX | 一張假鈔的真實世界 例如如下錯誤&#xff1a; $ python3 git.py Traceback (most recent call last):File "git.py", line 1, in <module>from git import RepoFile &quo…

使用C語言實現MySQL數據庫的增刪改查操作指南

使用C語言與MySQL數據庫進行交互,通常涉及使用MySQL提供的C API庫。這套API允許開發者在C/C++程序中執行SQL查詢,從而實現數據庫的增刪改查操作。下面,我將詳細介紹如何在C語言中實現這些基本操作。 準備工作 安裝MySQL開發庫:確保你的系統上安裝了MySQL服務器以及MySQL開發…

局域網使用Ollama(Linux)

解決局域網無法連接Ollama服務的問題 在搭建和使用Ollama服務的過程中&#xff0c;可能會遇到局域網內無法連接的情況。經過排查發現&#xff0c;若開啟了代理軟件&#xff0c;尤其是Hiddify&#xff0c;會導致此問題。這一發現耗費了我數小時的排查時間&#xff0c;希望能給大…

在CT107D單片機綜合訓練平臺上實現外部中斷控制LED閃爍

引言 在單片機開發中&#xff0c;外部中斷是一個非常重要的功能&#xff0c;它可以讓單片機在檢測到外部信號變化時立即做出響應。本文將詳細介紹如何在CT107D單片機綜合訓練平臺上使用外部中斷來控制LED燈的閃爍。我們將使用兩種不同的方式來實現這一功能&#xff1a;一種是在…

重磅發布!AI 驅動的 Java 開發框架:Spring AI Alibaba

*本文作者系阿里云云原生微服務技術負責人&#xff0c;Spring AI Alibaba 發起人彥林&#xff0c;望陶和隆基對可觀測和 RocketMQ 部分內容亦有貢獻。 * 摘要 隨著生成式 AI 的快速發展&#xff0c;基于 AI 開發框架構建 AI 應用的訴求迅速增長&#xff0c;涌現出了包括 Lang…

防御保護作業二

拓撲圖 需求 需求一&#xff1a; 需求二&#xff1a; 需求三&#xff1a; 需求四&#xff1a; 需求五&#xff1a; 需求六&#xff1a; 需求七&#xff1a; 需求分析 1.按照要求進行設備IP地址的配置 2.在FW上開啟DHCP功能&#xff0c;并配置不同的全局地址池&#xff0c;為…

react 路由配置:從入門到精通

前言 在現代Web開發中&#xff0c;React憑借其高效的組件化開發模式和虛擬DOM技術&#xff0c;已成為構建用戶界面的首選庫之一。然而&#xff0c;僅掌握React的核心概念并不足以應對復雜的單頁應用&#xff08;SPA&#xff09;開發需求。路由管理作為連接各個頁面、實現視圖切…

CPLD實現SPI通信

在 CPLD 中編寫 SPI 程序時,需根據具體需求(主/從設備、時鐘極性、數據位寬等)設計邏輯。以下提供一個 SPI 主控制器的 Verilog 實現示例,支持 模式 0(CPOL=0, CPHA=0),適用于控制外設(如 ADC、DAC、存儲器等)。 SPI 主控制器模塊設計(Verilog) 模塊功能 支持 8/16…

MapReduce簡單應用(三)——高級WordCount

目錄 1. 高級WordCount1.1 IntWritable降序排列1.2 輸入輸出格式1.3 處理流程 2. 代碼和結果2.1 pom.xml中依賴配置2.2 工具類util2.3 高級WordCount2.4 結果 參考 本文引用的Apache Hadoop源代碼基于Apache許可證 2.0&#xff0c;詳情請參閱 Apache許可證2.0。 1. 高級WordCo…

智慧機房解決方案(文末聯系,領取整套資料,可做論文)

智慧機房解決方案-軟件部分 一、方案概述 本智慧機房解決方案旨在通過硬件設備與軟件系統的深度整合&#xff0c;實現機房的智能化管理與服務&#xff0c;提升機房管理人員的工作效率&#xff0c;優化機房運營效率&#xff0c;確保機房設備的安全穩定運行。軟件部分包括機房管…

(五)Spring Boot學習——spring security +jwt使用(前后端分離模式)

一定要熟悉spring security原理和jwt無狀態原理&#xff0c;理解了才知道代碼作用。 在 Spring Security JWT 認證流程中&#xff0c;通常的做法是&#xff1a; 用戶提交用戶名和密碼Spring Security 認證管理器 (AuthenticationManager) 進行認證如果認證成功&#xff0c;生…

清華DeepSeek手冊:從入門到精通(網頁版便于閱讀)

目錄 一、產品概述二、清華DeepSeek從入門到精通三、PDF文件路徑 一、產品概述 DeepSeek是國產領先的人工智能技術平臺&#xff0c;提供從數據分析到大型語言模型的全棧解決方案。其核心產品包括網頁端數據分析工具[1] 、視覺語言模型(DeepSeek-VL)[2] 和670億參數大型語言模型…

阿里云百煉初探DeepSeek模型調用

阿里云百煉初探DeepSeek模型調用 阿里云百煉為什么選擇百煉開始使用百煉方式一&#xff1a;文本對話方式二&#xff1a;文本調試方式三&#xff1a;API調用 DeepSeek調用1、搜索模型2、查看API調用3、開始調用安裝依賴查看API Key運行以下代碼 4、流式輸出 總結 阿里云百煉 阿…

【網絡安全】服務器安裝Docker及拉取鏡像教程

文章目錄 1. 安裝 Docker2. 拉取鏡像3. 運行 Ubuntu 容器4. 執行相關操作5. 退出并停止容器1. 安裝 Docker # 更新軟件包索引 sudo apt update# 安裝必要的依賴 sudo apt install -y ca-certificates curl gnupg

AI刷題-子數組和的最大值問題

目錄 問題描述 輸入格式 輸出格式 輸入樣例 輸出樣例 說明 數據范圍 解題思路&#xff1a; 問題理解 數據結構選擇 算法步驟 具體步驟 代碼實現&#xff1a; 1.特判&#xff1a; 不需要刪除元素的時候 2.在前面的判斷結束后&#xff1a;k1&#xff0c;&#xff…