React基礎-webpack+creact-react-app創建項目

學習視頻:學習視頻

2節:webpack工程化創建項目

2.1.webpack工程化工具:vite/rollup/turbopak;

+實現組件的合并、壓縮、打包等;
+代碼編譯、兼容、校驗等;

2.2.React工程化/組件開發

我們可以基于webpack自己去搭建一套工程化打包的架子,但是這樣非常的麻煩、復雜;React官方,為我們提供了一個腳手架:
+腳手架:基于它創建項目,默認就把webpack的打包規則已經處理好了,把一些項目需要的基本文件也都創建好了

2.3.create-react-app基于運用

  • 安裝腳手架:npm跑項目改為yarn跑項目:把node_modules和package-lock.json刪掉,用yarn跑就行了
    $ npm i create-react-app -g
    檢查安裝情況
    $ create-react-app --version
  • 基于腳手架創建React工程化的項目
    $ create-react-app 項目名稱 (項目名稱要遵循npm命名規則,數字、小寫字母、_ 命名)
項目目錄:
|-node_modules: 項目依賴
|-src: 所有后續編寫的代碼,幾乎都放在src下,[打包的時候一般只對這個目錄下的代碼進行處理]|-index.js ----入口文件
|-public:放頁面模板|-index.html
|-package.json

在這里插入圖片描述

2.4.React項目中,默認會安裝:

react: React框架的核心
react-dom: React視圖渲染的核心[基于React構建webApp(HTML頁面)]
react-natvie: 構建和渲染APP的
react-scripts: 腳手架為了讓項目目錄看起來干凈一些,把webpack打包的規則及相關的插件/LOADER等都隱藏到了node_modules目錄下,react-sctipts就是
腳手架中自己對打包命令的一種封裝,基于它打包,會調用node_modules中的webpack等進行處理
web-vitals: 性能檢測工具
在這里插入圖片描述

2.5.package.json文件

在這里插入圖片描述
eslint配置:
在這里插入圖片描述
瀏覽器兼容配置:
在這里插入圖片描述
src文件夾:
在這里插入圖片描述

3節:腳手架的進階應用

3.1 yarn eject / npm run eject的使用

在這里插入圖片描述
命令執行后會生成兩個文件夾:config和scripts
在這里插入圖片描述
在這里插入圖片描述
package.json文件的更改:
在這里插入圖片描述
babel-preset-react-app包是對@babel/preset-env語法包的重寫[目的:把es6轉為es5],重寫的目的:讓語法包可以識別React的語法,實現代碼轉換
在這里插入圖片描述
在這里插入圖片描述

3.2.常見的配置修改

  • 把sass改為less
yarn add less less-loader@8 // 使用第八個版本,用新版本有些配置規則會匹配不上
yarn remove sass-loader

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

  • create-react-app腳手架默認webpack規則的修改:直接去暴露的源碼中改:(在webpack.config.js文件中改)
    所以需要大家具備一定的webpack能力

  • 配置別名:
    在這里插入圖片描述

  • 修改端口號和域名:
    在這里插入圖片描述

如果想基于修改環境變量的方式來改:

yarn add cross-env

在這里插入圖片描述

  • 修改瀏覽器兼容
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
  • 跨域代理:處理Proxy跨域
    在這里插入圖片描述
  1. 在src目錄中新建setupProxy.js文件(config/paths.js文件 中setupProxy.js作為跨域入口文件)
yarn add http-proxy-middleware

http-proxy-middleware:實現跨域代理的模塊[webpack-dev-serve的跨域代理原理,也是基于它完成的]
在這里插入圖片描述
測試使用:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697083.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697083.shtml

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

相關文章

sql-labs25-28a

一、環境 網上都有不過多闡述 二、sql-labs第25關 它說你的OR和and屬于它,那就是過濾了OR和and 注入嘗試 不用or和and進行爆破注入,很明顯是有注入點的 ?id-1 union select 1,2,3-- 查看數據庫 ok,此道題算是解了但是如果我們用了and了呢 ?id-1 and updatex…

淺談集群的分類

本文主要介紹集群部署相關的知識,介紹集群部署的基礎,集群的分類、集群的負載均衡技術,集群的可用性以及集群的容錯機制。隨后介紹Redis-Cluster以及Mysql的架構以及主從復制原理。 集群介紹 單臺服務器本身會受到帶寬、內存、處理器等多方面…

STM32-串口通信(串口的接收和發送)

文章目錄 STM32的串口通信一、STM32里的串口通信二、串口的發送和接收串口發送串口接收 三、串口在STM32中的配置四、串口接收的兩種實現方式1. 需要更改的地方2. 查詢RXNE標志位3. 使用中斷 總結 STM32的串口通信 本文在于記錄自己的學習過程中遇到的問題和總結,各…

golang,gin腳手架,完美集成與結構化,gin-restful-api模板gin-layout,開箱即用

關于gtools golang非常奈斯,gin作為web框架也非常奈斯,但我們在開發過程中,前期搭建會花費大量的時間,且還不盡人意。 為此我集成了gin-restful-api的模板gin-layout,還有腳手架一鍵生成項目。 集成相關 ginviperz…

大型語言模型的語義搜索(一):關鍵詞搜索

關鍵詞搜索(Keyword Search)是文本搜索種一種常用的技術,很多知名的應用app比如Spotify、YouTube 或 Google map等都會使用關鍵詞搜索的算法來實現用戶的搜索任務,關鍵詞搜索是構建搜索系統最常用的方法,最常用的搜索算法是Okapi BM25&#x…

Liunx使用nginx和http搭建yum-server倉庫

文章目錄 1. yum-server的搭建方式2. nginx搭建yum-server倉庫2.1. 安裝配置nginx2.2 配置yum-server的rpm2.3. 同步yum源相關包2.3.1 rsync同步源3.3.1 reposync同步源 2.4. 配置客戶端訪問yum配置2.5. 驗證測試 3. http服務搭建yum-server倉庫3.1. 安裝配置http3.2 配置yum-s…

基于微信小程序校園洗衣系統設計與實現(PHP后臺)可行性分析

博主介紹:黃菊華老師《Vue.js入門與商城開發實戰》《微信小程序商城開發》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程&#xff…

Firewalld防火墻

Firewalld概述 Firewalld firewalld防火墻是centos7系統默認防火墻的防火墻管理工具,取代了之前的iptables防火墻,也是工作在網絡層,屬于包過濾防火墻。 支持網絡區域所定義的網絡鏈接以及接口安全等級的動態防火墻管理工具至此IPv4、IPv6…

ECMAScript modules規范示例詳解

ECMAScript modules(簡稱 ES modules)是JavaScript的標準模塊系統。每個模塊都是一個獨立的JavaScript文件,可以在其中定義導出的變量、函數或類,并從其他模塊中導入這些變量、函數或類。以下是ES modules規范的一些示例和詳解&am…

Go 線程池實現案例

Go 語言并不像其他一些語言(例如 Java 或 C#)那樣直接提供一個線程池的概念。相反,Go 使用 goroutines 來實現并發,它是一種比線程更輕量級的并發執行單元。不過,仍然可以實現一個類似線程池的結構,來管理和…

studio one 6正版多少錢?怎么購買studio one 更便宜,有優惠券哦

Presonus Studio One Studio One是由美國PreSonus公司開發的數字音頻工作站,作為DAW屆的新人,功能強大且全面,雖然它不像其他DAW那樣擁有歷史和聲譽,但它是一個可愛的軟件,包含許多其它DAW所不具備的實用功能&#xff…

web基礎及http協議 (二)----------Apache相關配置與優化

一、httpd 安裝組成 http 服務基于 C/S 結構 1 .常見http 服務器程序 httpd apache,存在C10K(10K connections)問題 nginx 解決C10K問題lighttpd IIS .asp 應用程序服務器 tomcat .jsp 應用程序服務器 jetty 開源的servlet容器&#xf…

選擇 Python IDE(VSCode、Spyder、Visual Studio 2022和 PyCharm)

前言 當選擇 Python 開發工具時,你需要考慮自己的需求、偏好和項目類型。下面是對VSCode、Spyder、Visual Studio 2022和 PyCharm的對比推薦總結: 結論 1、如果你專注于“數據科學”,選擇SpyDer沒錯。 內容 Visual Studio Code (VS Code)…

react項目中的redux以及react-router-dom

掃盲知識點&#xff1a; 1 傳遞自定義事件&#xff1a; <button onClick{(e)>{change(e)}}>獲取事件對象e</button> 將事件對象e傳遞到了change的這個方法中。 2 同時傳遞自定義事件和參數&#xff1a; <button onClick{(e)>{change(‘我…

基于微信小程序失物招領系統設計與實現(PHP后臺+Mysql)可行性分析

博主介紹&#xff1a;黃菊華老師《Vue.js入門與商城開發實戰》《微信小程序商城開發》圖書作者&#xff0c;CSDN博客專家&#xff0c;在線教育專家&#xff0c;CSDN鉆石講師&#xff1b;專注大學生畢業設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程&#xff…

CleanMyMac2024蘋果電腦清理工具最新使用全面評價

作為軟件評價專家&#xff0c;我對CleanMyMac X進行了全面的評估&#xff0c;以下是我的詳細評價&#xff1a; CleanMyMac X4.14.6全新版下載如下: https://wm.makeding.com/iclk/?zoneid49983 一、功能 CleanMyMac X的功能相當全面&#xff0c;幾乎涵蓋了Mac電腦清理所需的…

nginx 具體介紹

一&#xff0c;nginx 介紹 &#xff08;一&#xff09;nginx 與apache 1&#xff0c; Apache event 模型 相對于 prefork 模式 可以同時處理更多的請求 相對于 worker 模式 解決了keepalive場景下&#xff0c;長期被占用的線程的資源浪費問題 因為有監聽線程&#…

【數據結構】鏈式隊列

鏈式隊列實現&#xff1a; 1.創建一個空隊列 2.尾插法入隊 3.頭刪法出隊 4.遍歷隊列 一、main函數 #include <stdio.h> #include "./3.linkqueue.h" int main(int…

文檔控件DevExpress Office File API v23.2新版亮點 - 支持SVG

DevExpress Office File API是一個專為C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫&#xff0c;不用安裝Microsoft Office&#xff0c;就可以完全自動處理Excel、Word等文檔。開發人員使用一個非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

數據結構之單鏈表的操作

main函數 #include <stdio.h> #include "./03_linkList.h" int main(int argc, const char *argv[]) { linkList* head creatr_linkList(); insertHead_linkL…