21、Create React App的使用

Create React App 是官方支持的創建單頁 React 應用程序的方法。提供了一個現代的構建設置,無需配置。它雖然只是一個包,但不建議全局安裝。如果本地安裝過可先卸載,這樣能保證每次創建項目時使用最新版本的功能。

開始使用

可以使用npx, npm, yarn指令都可以, 這里先以npx為例說明

### 全局卸載npm uninstall -g create-react-app### 創建工程,my-app-name為自定義的工程文件夾名稱
npx create-react-app@latest my-app-name### 也可以采用官方提供的模板創建,模板網站 https://www.npmjs.com/search?q=cra-template-*
npx create-react-app my-app --template [template-name]
### 比如
npx create-react-app my-app --template typescript

安裝完成后,可使用以下指令來操作工程

### 運行,測試,壓縮打包,刪除重新構建
npm start
npm test
npm run build
npm run eject

工程結構

my-app/README.mdnode_modules/package.jsonpublic/index.htmlfavicon.icosrc/App.cssApp.jsApp.test.jsindex.cssindex.js  # js入口文件logo.svg

調試開發

在 WebStorm 菜單 Run 中選擇 Edit Configurations…。然后單擊 + 并選擇 JavaScript Debug。將 http://localhost:3000 粘貼到 URL 字段并保存配置。

樣式表設計

添加普通的.css文件

這是一種正常引用的方式

import './Button.css'; 

模塊化csss文件

就是[name].module.css 這樣命名,然后react有一個自動綁定的功能

import styles from './Button.module.css';

解決重復導入問題

可以比如index.css或App.css這新的總文件入口添加@import-normalize;,但需要注意瀏覽器是否支持

@import-normalize; /* bring in normalize.css styles *//* rest of app styles */

添加圖像、字體

import logo from './logo.png';
import { ReactComponent as Logo } from './logo.svg';return <img src={logo} alt="Logo" />;

加載 .graphql 文件

先安裝

npm install --save graphql graphql.macro

然后程序中這樣使用

import { loader } from 'graphql.macro';const query = loader('./foo.graphql');

工程部署

通過build打包后就可以部署應用了,通常需要借助一個nginx或tomcat來部署,但也可能通過一個靜態服務器來部署(node運行環境)。

  • 端口沖突:若端口被占用,serve 會提示并退出,需手動指定其他端口。
  • 跨域問題:serve 默認不處理CORS,需通過代理或后端配置解決。
  • 生產環境:serve 僅用于開發環境,生產環境建議使用 nginx 或 Express。

安裝

## 在端口 3000 上為您的靜態站點提供服務,安裝后就可以使用serve指令了
npm install -g serve
serve -h # 查看所有幫助選項

全局配置

安裝后可通過指令配置端口等

serve -p 8080 #serve --port 8080
serve -s build -l 4000 # 調整端口為4000#---------------------------------------------------
-p, --port <port>	指定端口(默認 3000)
-s, --single	單頁應用模式(SPA,路由重定向到 index.html)
-o, --open	自動打開瀏覽器
-c, --config	指定配置文件(如 serve.json)
-a, --auth	啟用基礎認證(需用戶名:密碼)
#啟用 HTTPS
serve --ssl --cert /path/to/cert.pem --key /path/to/key.pem
#啟動認證
serve --auth username:password
# 允許外部訪問
serve --listen 0.0.0.0

React工程配置

需要在工程中創建一個名為serve.json的文件,然后配置以下內容

{"port": 8080,"single": true,"open": true,"ignore": ["node_modules"]
}

運行React工程

進入到當前工程目錄下,輸入以下指令

serve # 啟動當前目錄為服務器, 訪問地址:http://localhost:3000
server --open # 啟動并打開瀏覽器

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

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

相關文章

CSS盒子 flex彈性布局

使用flex彈性布局頁面效果圖&#xff08;源代碼在文章末尾&#xff09;&#xff1a; 目錄 flex彈性布局 一、基本容器 二、設置主軸方向 三、設置主軸對齊方式 四、設置交叉軸上的對齊方式 flex彈性布局 一、基本容器 Flexbox 是 CSS3 引入的一種一維布局模型&#xff0…

數據結構與算法-線性表-線性表的應用

1 線性表 1.5 線性表的應用 1.5.1 線性表的合并 【算法步驟】 分別獲取 LA 表長 m 和 LB 表長 n 。從 LB 中第 1 個數據元素開始&#xff0c;循環 n 次執行以下操作&#xff1a; 從 LB 中查找第 i 個數據元素賦給 e &#xff1b;在 LA 中查找元素 e &#xff0c;如果不存在&…

流數據機器學習框架 CapyMOA

環境準備: pip install capymoa 使用 HoeffdingTree 對流數據做在線分類: from capymoa.streams import FileStream from capymoa.learners import HoeffdingTreeClassifier from capymoa.evaluation import ProgressiveEvaluator# 1. 構造流&#xff1a;假設 data/stream…

QEMU源碼全解析 —— 塊設備虛擬化(27)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(26) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 Virt

Cilium動手實驗室: 精通之旅---19.Golden Signals with Hubble and Grafana

Cilium動手實驗室: 精通之旅---19.Golden Signals with Hubble and Grafana 1. Lab 環境2. 部署測試應用2.1 7層可見性的網絡2.1.1 允許所有命名空間2.1.2 DNS 可見性2.1.3 L7-egress-visibility 2.2 檢查 Deployments2.3 在 Hubble UI 中查看 3. Grafana 選項卡3.1 Grafana 中…

常見文件系統格式有哪些

PART.01 常見文件系統格式有哪些 常見的文件系統格式有很多&#xff0c;通常根據使用場景&#xff08;Windows、Linux、macOS、移動設備、U盤、硬盤等&#xff09;有所不同。以下是一些主流和常見的文件系統格式及其特點&#xff1a; 一、Windows 常見文件系統格式 Digital …

React Native 彈窗組件優化實戰:解決 Modal 閃爍與動畫卡頓問題

&#x1f4cc; 前言 在移動端開發中&#xff0c;用戶對動畫的流暢性和過渡自然性有著極高的期待。最近我對一個使用 react-native-modal 實現的 Alert 彈窗組件進行了優化&#xff0c;成功解決了閃爍和卡頓問題&#xff0c;并顯著提升了用戶體驗。 本篇博客將帶你深入了解優化…

智能客服系統開發方案:RAG+多智能體技術實現

智能客服系統開發方案:RAG+多智能體技術實現 一、系統架構設計 #mermaid-svg-hKDXil2J0xV064Q5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hKDXil2J0xV064Q5 .error-icon{fill:#552222;}#mermaid-svg-hKDXil2…

【Kafka】消息隊列Kafka知識總結

【Kafka】消息隊列Kafka知識總結 【一】消息隊列【1】什么是消息隊列【2】消息隊列有什么用&#xff08;1&#xff09;異步處理&#xff08;2&#xff09;削峰/限流&#xff08;3&#xff09;降低系統耦合性&#xff08;4&#xff09;實現分布式事務&#xff08;5&#xff09;順…

微信小程序開發 RangeError: Maximum call stack size exceeded

通常是由于??調用棧深度超限??&#xff08;如無限遞歸、過深的函數調用鏈或數據綁定循環&#xff09;導致。以下是具體解決方案&#xff1a; 一、核心原因分析 ??無限遞歸?? 函數直接或間接調用自身且無終止條件&#xff0c;例如事件處理函數中錯誤觸發自身。??數據…

mapbox進階,切片網格生成實現

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??line線圖層樣式1.4 ??symbol符號圖層…

Mysql 函數concat、concat_ws和group_concat

1.concat concat()函數是將多個字符串組合在一起&#xff0c;形成一個大的字符串&#xff1b;如果連接的字符串中存在一個為NULL&#xff0c;則輸出的結果為NULL&#xff0c;語法格式為&#xff1a; concat(str1,str2,....strn) -- 1、字符之間不加連接符 mysql> select c…

“在同一事務中“ 的含義

一、"在同一事務中" 的核心含義 "在同一事務中" 指多個數據庫操作共享同一個事務上下文&#xff0c;具有以下特點&#xff1a; 原子性保證&#xff1a;所有操作要么全部成功提交&#xff0c;要么全部失敗回滾。隔離性共享&#xff1a;操作使用相同的隔離…

【Create my OS】從零編寫一個操作系統

前言&#xff1a; 相信每個自學操作系統的同學&#xff0c;大致學習路線都離不開 HIT-OS、MIT-6.S081、MIT-6.824、MIT-6.828等經典的公開課。但學習完這些經典公開課并完成相應的Lab&#xff0c;很多同學腦海中對于操作系統的知識其實都是零散的&#xff0c;讓你從頭開始編寫一…

計算機視覺與深度學習 | 低照度圖像增強算法綜述(開源鏈接,原理,公式,代碼)

低照度圖像增強算法綜述 1 算法分類與原理1.1 傳統方法1.2 深度學習方法2 核心算法詳解2.1 多尺度Retinex (MSRCR) 實現2.2 SCI自校準光照學習2.3 自適應伽馬校正2.4 WaveletMamba架構3 開源資源與實現3.1 主流算法開源庫3.2 關鍵代碼實現4 評估與實驗對比4.1 客觀評價指標4.2 …

【工具教程】批量PDF識別提取區域的內容重命名,將PDF指定區域位置的內容提取出來改名的具體操作步驟

在企業運營過程中&#xff0c;時常會面臨處理海量 PDF 文件的挑戰。從 PDF 指定區域提取內容并用于重命名文件&#xff0c;能極大地優化企業內部的文件管理流程&#xff0c;提升工作效率。以下為您詳細介紹其在企業中的應用場景、具體使用步驟及注意事項。? 詳細使用步驟? 選…

【Java多線程從青銅到王者】定時器的原理和實現(十一)

定時器 定時器時我們日常開發中會用到的組件工具&#xff0c;類似于一個"鬧鐘"&#xff0c;設定一個時間&#xff0c;等到了時間&#xff0c;定時器最自動的去執行某個邏輯&#xff0c;比如博客的定時發布&#xff0c;就是使用到了定時器 Java標準庫里面也提供了定時…

深入剖析AI大模型:Prompt 優化的底層邏輯

記得看到一篇NLP的文章&#xff0c;就 Prompt 時序效應的論文揭示了一個有趣現象&#xff0c;文章中說&#xff1a;模型對指令的解析存在 "注意力衰減" 特性 —— 就像人類閱讀時會更關注段落開頭&#xff0c;模型對 Prompt 前 20% 的內容賦予的權重高達 60%。這個發…

【備忘】PHP web項目一般部署辦法

【PHP項目一般部署辦法】 操作步驟 代碼&#xff1a; 把php項目代碼clone到指定位置如www/下新建php站點&#xff0c;填寫域名&#xff0c;把站點根目錄設置為項目根目錄項目入口設置&#xff0c;一般為public/項目權限改為766(特殊時候可設置為777)&#xff0c;如果有特殊要求…

【60 Pandas+Pyecharts | 箱包訂單數據分析可視化】

文章目錄 &#x1f3f3;??&#x1f308; 1. 導入模塊&#x1f3f3;??&#x1f308; 2. Pandas數據處理2.1 讀取數據2.2 數據信息2.3 去除訂單金額為空的數據2.5 提取季度和星期 &#x1f3f3;??&#x1f308; 3. Pyecharts數據可視化3.1 每月訂單量和訂單金額分布3.2 各季…