React 應用構建(環境)

来源:https://www.cnblogs.com/hubert-style/archive/2023/11/21/17847207.html
-Advertisement-
Play Games

可以少去理解一些不必要的概念,而多去思考為什麼會有這樣的東西,它解決了什麼問題,或者它的運行機制是什麼? 一. 環境搭建 工作編輯器:Visual Studio Code。 Javascript 解析器、運行環境 Node.js 的安裝。 npm 安裝:npm 是 Node.js 的軟體包管理器。 ...


可以少去理解一些不必要的概念,而多去思考為什麼會有這樣的東西,它解決了什麼問題,或者它的運行機制是什麼?

一. 環境搭建

  • 工作編輯器:Visual Studio Code。
  • Javascript 解析器、運行環境 Node.js 的安裝。
  • npm 安裝:npm 是 Node.js 的軟體包管理器。

二. 項目構建

1. 腳手架構建項目(JavaScript)

腳手架是快速幫助開發者搭建開發環境,用最簡單方式創建一個簡單 Hello World 項目。主要步驟分析如下所示。

全局、非全局安裝腳手架環境,創建項目:

全局安裝腳手架環境 create-react-app:

$ npm install -g create-react-app
# 查看安裝版本
$ create-react-app -V
# 創建一個項目
$ create-react-app my-app

非全局安裝,可以直接使用 npx(臨時安裝最新的腳手架):

# 安裝、構建 react 項目
$ npx create-react-app my-app

運行項目:

# 運行項目
$ cd my-app
$ npm start

構建項目實際上會安裝三個東西:

  • react:react 頂級庫。
  • react-dom:因為 react 有很多的運行環境,比如 app 端的 react-native ,我們要在 web 上運行就使用 react-dom。
  • react-scripts:包含運行和打包 react 應用程式的所有腳本及配置。

其他命令:

# 1. 安裝依賴 node_modules
$ npm install 縮寫 npm i

# 2. nrm 是 npm 包的倉庫管理軟體,倉庫鏈接地址托管給 nrm 管理,也就是鏡像管理
$ npm i -g nrm # 安裝 nrm
$ nrm ls # 查看可選源鏡像
$ nrm use xxx # 切換鏡像
$ nrm current # 查看當前鏡像源

# 3. 清除 npm 緩存
$ npm cache clean --force

第一個項目解析 chess-game:

項目入口:index.html 裡面載入一個空的 div 節點:

<div id="root"></div>

項目解析:

// 從 React 的包中引入了 React。只要你寫 React.js 組件就必須引入 React,因為 React 里有一種語法叫 JSX。要寫 JSX 就必須引入 React。
import React from "react";
// ReactDOM 可以幫助我們把 React 組件渲染到頁面上去。它是從 react-dom 中引入的。
import ReactDOM from "react-dom"

// ReactDOM 里有一個 render 方法,功能就是把組件渲染並且構造 DOM 樹,然後插入到頁面上某個特定的元素上
// 利用 React DOM 模塊 渲染一段 DIV 節點,把整段節點插入到 root 節點中。
ReactDOM.render(<Game />, document.getElementById("root"))

// React 18 替換之前寫法如下:
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(<Game />);

2. 腳手架構建項目(TypeScript)

腳手架是快速幫助開發者搭建開發環境,這裡腳手架採用 TypeScript 模版創建一個項目。

$ npx create-react-app my-app --template typescript

3. Umi 腳手架構建項目

在工作空間目錄下建個空目錄用來存放項目:

$ mkdir myapp && cd myapp

通過官方工具創建項目:

$ yarn create @umijs/umi-app
# 或 
$ npx @umijs/create-umi-app

安裝依賴:

$ yarn install

啟動項目:

$ yarn start

4. Umi + dva + antd + mobile

項目以 UMI + DVA 為底層框架,以 Ant Design Mobile 為 UI 組件庫,快速構建 H5 應用。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本篇介紹一個基於 PY32F002A 和 XL2400 的低成本無線遙控實現. 7通道是指6個模擬通道加一個開關通道, 模擬通道受PY32F002A的PIN腳限制, 全部用上可以做到8個, 因為我想保留SWD口, 所以只做了6個. 普通應用只需要雙搖桿加兩個雙調節, 基本夠用了. 第七個通道是一組開... ...
  • 文章記錄了作者曲折的探索過程,最終成功將AMD cpu的Thinkbook 14p筆記本電腦從Windows11 21h2版本升級到了23h2版本,而且系統的應用配置和數據基本沒變。 ...
  • SQL DELETE 語句 SQL DELETE 語句用於刪除表中的現有記錄。 DELETE 語法 DELETE FROM 表名 WHERE 條件; 註意:在刪除表中的記錄時要小心!請註意DELETE語句中的WHERE子句。WHERE子句指定應刪除哪些記錄。如果省略WHERE子句,將會刪除表中的所有 ...
  • 在 Doris 的存儲引擎規則: 表的數據是以分區為單位存儲的,不指定分區創建時,預設就一個分區. 用戶數據首先被劃分成若幹個分區(Partition),劃分的規則通常是按照用戶指定的分區列進行範圍劃分,比如按時間劃分。 在每個分區內,數據被進一步的按照Hash的方式分桶,分桶的規則是要找用戶指定的 ...
  • 本文分享自華為雲社區《GaussDB(DWS)監控工具指南(四)運算元級監控【綻放吧!GaussDB(DWS)雲原生數倉】》,作者: 幕後小黑爪 。 隨著數據量的增大和數據處理的複雜性增加,資料庫系統的性能問題變得越來越突出。應用程式對資料庫的訪問頻率和數據量也越來越大。因此,優化資料庫系統的性能成為 ...
  • Doris中,Leader節點與非Leader節點和Observer節點之間的元數據高可用和一致性,是通過bdbje(全稱:Oracle Berkeley DB Java Edition)的一致性和高可用實現的。 元數據與同步流程 元數據主要存儲四類數據: 用戶數據信息. 包括資料庫, 表的sche ...
  • 前言 在自學framework的時候,最大的難題就是如何動手實踐修改framework並且看到實踐效果。但是Android系統是需要linux環境下編譯的,我們一般的個人電腦都是windows系統,所以為了學習framework重裝電腦為linux系統有點不太實際。個人也試過虛擬機,但是系統資源開銷 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 Vue的5種處理Vue異常的方法 相信大家對Vue都不陌生。在使用Vue的時候也會遇到報錯,也會使用瀏覽器的F12 來查看報錯信息。但是你知道Vue是如何進行異常拋出的嗎?vue 是如何處理異常的呢?接下來和大家介紹介紹,Vue是如何處理 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...