React

JS
第二堂放課 React 初探
講師介紹
姓名:張雲淞
綽號:章魚
社團:建中資訊社 INFOR
職位:外交長兼學術
學術力:JavaScript、網頁前後端、Python、C++
教學課程:上學期放課 Discord.js、下學期社課 JavaScript、下學期放課 React
社帳 Instagram

Review
基礎 & 語法複習
基礎語法複習
上一堂課的簡報
基礎語法複習
上學期網頁前端放課 @at
TypeScript
什麼是 TypeScript
- 微軟開發的程式語言
- 增加靜態型別系統
- 需通過編譯為 JavaScript 程式
- 開發期間偵測錯誤

function greet(name) {
return "Hello, " + name;
}
greet(123); // "Hello, 123"function greet(name: string): string {
return "Hello, " + name;
}
greet(123); // 會發生報錯Set up
環境設置
讓 JavaScript 跨平台開發的開源執行環境
React 依賴 Node.js 開發


這樣就安裝完成囉!
Visual Studio Code
微軟開發的文字編輯器
具豐富套件與功能,最常用的程式碼編輯器

(建中電腦預設有安裝)

安裝完成的畫面長這樣!
Build Tool
專案建置工具
Build Tool
- 建置 React 專案的工具
- 提供打包、運行的功能
- 提供本地開發的開發伺服器、部署到伺服器的指令

Vite

Parcel

Rsbuild
Build Tool

Vite

Parcel

Rsbuild
- 基於 ES Modules,開發時不須預先打包
- 按需轉譯(on-demand transform),僅處理被請求的模組
- HMR 單模組更新,更新時僅替換變更部分,不刷新整個頁面
- Dependency Graph 全量建構,啟動先建構模組依賴圖(graph)
- 先打包再執行(Bundling-first),完整解析、打包、壓縮後才輸出
- 完全不須設定 config,自動做轉譯、壓縮、資源處理
- 基於 Rust 的高效 bundler(Rspack),更為底層,可提高編譯效率
- 高度並行(Multi-threaded Pipeline),多核心同時編譯、打包
- Webpack 生態相容(Compatibility Layer),具高擴展性
Build Tool

Parcel
- Dependency Graph 全量建構,啟動先建構模組依賴圖(graph)
- 先打包再執行(Bundling-first),完整解析、打包、壓縮後才輸出
- 完全不須設定 config,自動做轉譯、壓縮、資源處理

Build Tool

Rsbuild
- 基於 Rust 的高效 bundler(Rspack),更為底層,可提高編譯效率
- 高度並行(Multi-threaded Pipeline),多核心同時編譯、打包
- Webpack 生態相容(Compatibility Layer),具高擴展性

Vite
由 Vue 作者尤雨溪開發
利用 ES Modules 提供高效率開發啟動與 HMR
Build a React app
建立 React 專案
快速入門
開啟 Visual Studio code,並開啟一個空的資料夾

快速入門
npm create vite@latest my-app -- --template react-ts開啟 Terminal 並輸入以下程式碼,建立 vite 為基礎的專案


快速入門
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
遇到以上問題時可使用以下指令解決
快速入門
npm create vite@latest my-app -- --template react-ts依照步驟安裝所需套件並執行,安裝完成後會自動執行

快速入門
開啟網址後,如果出現右圖畫面
代表成功建立第一個 React 專案了!


快速入門

node_modules/
- 套件安裝到的資料夾
- 由 npm install 產生
- 包含 React、Vite、TypeScript…

不須上傳到 git
只要有 package.json 即可完整安裝
快速入門

public/
- 網頁的靜態資源
- 例如 icon、txt、大型靜態圖片等
- 直接存取,不會被打包,不經過 Vite 處理

快速入門

src/
- 主要程式的區域
- main.tsx:
- 主程式,把 React 掛到 HTML
- 渲染 <APP />
- App.tsx:
- 一個基本的 React 元件
快速入門

src/
- 主要程式的區域
- index.css:
- 會全域應用的 CSS 樣式
- App.css:
- 僅應用於 App 元件的 CSS 樣式
快速入門

assets/
- 存放圖片、svg 等資源
- 和 public 差別在於會被處理(hash、最佳化)

快速入門

index.html
整個專案的入口,啟動時先讀 index.html
vite.config.ts
vite 設定檔
package.json
專案設定檔(套件、指令設定)
快速入門

tsconfig.json
TypeScript 設定,型別檢查等
tsconfig.node.json
對於 vite/node 的 ts 設定
Thanks
歡迎下次再來!
React (2) React 初探
By 章魚
React (2) React 初探
- 70

