首頁 web前端 前端問答 react和webpack的差別是什麼

react和webpack的差別是什麼

Mar 22, 2022 pm 03:30 PM
react webpack

區別:1、React是一個JavaScript框架,而webpack是一個JavaScript應用程式的靜態模組打包器;2、React主要用於建立使用者介面,而webpack可以進行重新載入編譯,可將所有的靜態資源都合併,進而減少io請求。

react和webpack的差別是什麼

本教學操作環境:Windows7系統、react17.0.1版、Dell G3電腦。

react是什麼

#React是用來建立使用者介面的JavaScript框架。

框架:可以重複使用的程式碼。用的人多了,就出名了,越有人越有價值。 (笑)

與React齊名的Angular。

React是用來渲染UI的JS函式庫,定位在與實作UI

React Web App解決方案,衍生的React Native是跨螢幕App解決方案

特點:

  • 宣告式設計:宣告範式

  • 高效率:使用VDOM,減少DOM的互動

  • 靈活:與已知的函式庫或框架完好配合

  • JSX:一種獨立的語言,試圖解決許多JS的缺陷,ES6包含了幾乎所有JSX的特性

  • 元件:程式碼重複使用

  • #單向回應資料流:比雙向綁定更簡單,更快。

為什麼使用React?

傳統方法頻繁地操作DOM,效能無法達到要求;React使用VDOM,效能高

傳統JS程式碼維護成本高,React基於元件開發

需要支援行動端開發

#React的缺點:

  • # #對於一直使用JS,jQuery的傳統前端,React非常不友善

  • #React強調元件和狀態管理,其世界觀是程式語言導向的

  • Vue.js強調視圖的自動同步,其世界觀是面向UI腳本的

  • #React的學習成本較Vue.js高。

  • React沒有全家桶,只做UI

webpack是什麼

本質上,

webpack 是一個現代JavaScript 應用程式的靜態模組打包器(module bundler)。當 webpack 處理應用程式時,它會遞歸地建構一個依賴關係圖(dependency graph),其中包含應用程式需要的每個模組,然後將所有這些模組打包成一個或多個 bundle。

webpack 就像一條生產線,要經過一系列處理流程後才能將原始檔轉換成輸出結果。這條生產線上的每個處理流程的職責都是單一的,多個流程之間有存在依賴關係,只有完成當前處理後才能交給下一個流程去處理。插件就像是一個插入到生產線中的一個功能,在特定的時機對生產線上的資源做處理。

webpack 透過 Tapable 來組織這條複雜的生產線。 webpack 在運作過程中會廣播事件,插件只需要監聽它所關心的事件,就能加入到這條生產線中,去改變生產線的運作。 webpack 的事件流機制保證了外掛程式的有序性,使得整個系統擴充性很好。

webpack 建置流程

Webpack 的運作流程是一個串列的過程,從啟動到結束會依序執行下列流程:

  • 初始化參數:從設定檔和Shell 語句中讀取與合併參數,得出最終的參數。

  • 開始編譯:用上一個步驟得到的參數初始化 Compiler 物件,載入所有配置的插件,執行物件的 run 方法開始執行編譯。

  • 確定入口:根據設定中的 entry 找出所有的入口檔案。

  • 編譯模組:從入口檔案出發,呼叫所有配置的Loader 對模組進行翻譯,再找出該模組依賴的模組,再遞歸本步驟直到所有入口依賴的檔案都經過了本步驟的處理。

  • 完成模組編譯:在經過第 4 步使用 Loader 翻譯完所有模組後,得到了每個模組被翻譯後的最終內容以及它們之間的依賴關係。

  • 輸出資源:根據入口和模組之間的依賴關係,組裝成一個個包含多個模組的Chunk,再把每個Chunk 轉換成一個單獨的檔案加入輸出列表,這步是可以修改輸出內容的最後機會。

  • 輸出完成:在決定好輸出內容後,根據配置決定輸出的路徑和檔案名稱,把檔案內容寫入到檔案系統。

在上述過程中,Webpack 會在特定的時間點廣播出特定的事件,插件在監聽到感興趣的事件後會執行特定的邏輯,並且插件可以調用Webpack提供的API 會改變Webpack 的運作結果。

react和webpack的區別

#React是一個JavaScript框架,是用來渲染UI的JS函式庫,用來建立使用者介面。

而webpack是一個打包器(bundler),它能將多個js文件打包成一個文件(其實不只可以打包js文件,也能打包其他類型的文件,例如css文件,json文件等)。

webpack的作用

  • 進行重新載入編譯。實際上就是將瀏覽器不認識的語法編譯成瀏覽器認識的語法。例如less編譯成css,ES6 語法 轉成 ES5等等。

  • 減少io請求。通常我們在請求後,會回傳一個html到瀏覽器。這時,我們如果開啟控制台,就會發現在html頁面透過script,link等標籤引用的靜態資源, 瀏覽器會再次發出請求去取得這些資源。但是webpack的打包,將所有的靜態資源都合併好了,減少了io請求。

【相關推薦:Redis影片教學

以上是react和webpack的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1276
29
C# 教程
1256
24
如何利用React和RabbitMQ建立可靠的訊息應用 如何利用React和RabbitMQ建立可靠的訊息應用 Sep 28, 2023 pm 08:24 PM

如何利用React和RabbitMQ建立可靠的訊息傳遞應用程式引言:現代化的應用程式需要支援可靠的訊息傳遞,以實現即時更新和資料同步等功能。 React是一種流行的JavaScript庫,用於建立使用者介面,而RabbitMQ是一種可靠的訊息傳遞中間件。本文將介紹如何結合React和RabbitMQ建立可靠的訊息傳遞應用,並提供具體的程式碼範例。 RabbitMQ概述:

React Router使用指南:如何實現前端路由控制 React Router使用指南:如何實現前端路由控制 Sep 29, 2023 pm 05:45 PM

ReactRouter使用指南:如何實現前端路由控制隨著單頁應用的流行,前端路由成為了一個不可忽視的重要部分。 ReactRouter作為React生態系統中最受歡迎的路由庫,提供了豐富的功能和易用的API,使得前端路由的實作變得非常簡單和靈活。本文將介紹ReactRouter的使用方法,並提供一些具體的程式碼範例。安裝ReactRouter首先,我們需要

PHP、Vue和React:如何選擇最適合的前端框架? PHP、Vue和React:如何選擇最適合的前端框架? Mar 15, 2024 pm 05:48 PM

PHP、Vue和React:如何選擇最適合的前端框架?隨著互聯網技術的不斷發展,前端框架在Web開發中起著至關重要的作用。 PHP、Vue和React作為三種代表性的前端框架,每一種都具有其獨特的特徵和優勢。在選擇使用哪種前端框架時,開發人員需要根據專案需求、團隊技能和個人偏好做出明智的決策。本文將透過比較PHP、Vue和React這三種前端框架的特徵和使

Java框架與前端React框架的整合 Java框架與前端React框架的整合 Jun 01, 2024 pm 03:16 PM

Java框架與React框架的整合:步驟:設定後端Java框架。建立專案結構。配置建置工具。建立React應用程式。編寫RESTAPI端點。配置通訊機制。實戰案例(SpringBoot+React):Java程式碼:定義RESTfulAPI控制器。 React程式碼:取得並顯示API回傳的資料。

如何利用React開發一個響應式的後台管理系統 如何利用React開發一個響應式的後台管理系統 Sep 28, 2023 pm 04:55 PM

如何利用React開發一個響應式的後台管理系統隨著互聯網的快速發展,越來越多的企業和組織需要一個高效、靈活、易於管理的後台管理系統來處理日常的操作事務。 React作為目前最受歡迎的JavaScript庫之一,提供了一種簡潔、高效和可維護的方式來建立使用者介面。本文將介紹如何利用React開發一個響應式的後台管理系統,並給出具體的程式碼範例。建立React專案首先

vue.js vs.反應:特定於項目的考慮因素 vue.js vs.反應:特定於項目的考慮因素 Apr 09, 2025 am 12:01 AM

Vue.js適合中小型項目和快速迭代,React適用於大型複雜應用。 1)Vue.js易於上手,適用於團隊經驗不足或項目規模較小的情況。 2)React的生態系統更豐富,適合有高性能需求和復雜功能需求的項目。

React在HTML中的作用:增強用戶體驗 React在HTML中的作用:增強用戶體驗 Apr 09, 2025 am 12:11 AM

React通過JSX與HTML結合,提升用戶體驗。 1)JSX嵌入HTML,使開發更直觀。 2)虛擬DOM機制優化性能,減少DOM操作。 3)組件化管理UI,提高可維護性。 4)狀態管理和事件處理增強交互性。

react有哪些閉包 react有哪些閉包 Oct 27, 2023 pm 03:11 PM

react有事件處理函數、useEffect和useCallback、高階元件等等閉包。詳細介紹:1、事件處理函數閉包:在React中,當我們在元件中定義事件處理函數時,函數會形成一個閉包,可以存取元件作用域內的狀態和屬性。這樣可以在事件處理函數中使用元件的狀態和屬性,實現互動邏輯;2、useEffect和useCallback中的閉包等等。

See all articles