建立React專案 – React 白話文運動 08

更新於 發佈於 閱讀時間約 7 分鐘


前言

前一篇文章介紹了三個名詞,分別是:Babel 是什麼?Webpack 是什麼?Npm 是什麼?

這一篇則是會手把手建立 React 專案,包含:建置環境、建立 React 專案、啟動專案、如何使用 React 擴充套件。

建置環境

在建立一個 React App 有一切工具是需要先從網路上下載的,這些工具在前幾篇文章都有介紹過。

Node.js

Node.js 裡面有內建的 npm 服務,可以提供我們快速下載 React 套件或是其他的套件。

安裝React的工具 Create React App 就是需要將 JavaScript 指令在安裝在電腦上運作

來到官網,右上角可以選擇語言,有支援繁體中文介面

  • LTS:是一個穩定的版本,由官方長期維護,通常持續30個月以上
  • Current:有最新功能,較不穩定

如果要確認是否有安裝成功,不管是 Window、MacOS、Linux,皆可以打開終端機(terminal)輸入以下指令,就能知道是否有安裝完成。

node -v

建立React專案

方式一:官網 CRA 指令建置

Node環境建置好之後,再來就是建置我們第一個 React 專案,這邊我偏好使用React官網的教學流程來教學,雖然也有其他快速建置專案的方法。

當 Node.js 確定安裝成功之後,在 terminal 輸入以下的指令,就可以在對應的位子建立一個 my-app 的資料夾,裡面放了對應的檔案以及資料夾。

npx create-react-app my-app

以下是資料夾的結構,my-app 資料夾中會有三個資料夾以及三個檔案

其中 node_modules 裡面會放置各種的套件,透過 npm install 安裝的套件也會放置在這個資料夾,package.json 則是會針對這個專案進行一些設定。

/my-app
-/public
-/node_modules
-/src
-package.json
-README.md
-package-lock.json

啟動專案

建置完成專案之後,要如何啟動專案呢?

透過下列兩行指令就可以啟動,第一行的指令為進入 my-app 資料夾,第二行指令為啟動此份專案。

cd my-app
npm start

如果成功執行之後,跑出這個畫面,代表我們已經成功建立自己的第一隻 React 專案。

建立React專案-Hogan與小波-Hogan.BLab

建立React專案-Hogan與小波-Hogan.BLab

方法二:自建環境

搭環境也可以使用自建的方式,包含前一篇介紹的 Webpack | Npm | Babel,並且全程都是使用指令的方式,將所需要的功能加入並且建置。


Webpack 是什麼?

Webpack 是一個模組化打包工具,其主要功能是將專案中的各種檔案,包括 JavaScript、CSS、LESS、SCSS、JSX 等,整合成一個或多個最終的檔案。這樣的模組化打包有助於提高開發效率,尤其在大型專案中,我們可以將功能模組化拆分,進而實現程式碼重用和測試的便利性。

Webpack 不僅僅是一個打包工具,它還提供了一系列強大的功能,例如程式碼拆分(Code Splitting),這允許將程式碼拆分成多個區塊,僅在需要時載入,以提升頁面載入速度。同時,模組化(Modulize)是 Webpack 中的核心概念,通過將大型功能拆分成小型檔案和函式,實現程式碼的結構清晰,易於維護和測試。


Npm 是什麼?

Npm 是世界上最大的軟體註冊中心。 來自各大洲的開源開發人員使用 npm 來共享和借用軟體模組包,許多公司也使用 npm 來管理私人開發。

Npm 全名為 Node Package Manager,我們可以透過 Node 裡面的 npm cli 工具進行套件的安裝以及管理。

舉例來說,如果想要使用 React 套件,只需要在終端機(terminal)輸入指令,npm 就會自動從Registry 中尋找 react 這個前端框架,並且下載至 node_modules 資料夾中。


Babel 是什麼?

Babel 是一個不可或缺的工具。它的主要功能是將最新版本的 JavaScript 語法,尤其是 ECMAScript 6(ES6)的語法,轉換成瀏覽器能夠理解和執行的舊版本 JavaScript。

ES6 引入了許多強大的功能,如箭頭函數、模板字串、解構賦值等,但由於瀏覽器的支援度不同,為了確保跨瀏覽器相容性,我們需要使用 Babel 進行編譯。

另外,當開發使用 JSX 語法的 React 應用程式時,同樣需要 Babel 進行編譯。JSX 是一種 JavaScript 語法擴充,用來描述 React 元件的結構。它使得在 JavaScript 中撰寫類似 HTML 的標記成為可能,但瀏覽器無法直接執行 JSX 語法,因此需要 Babel 將其轉換成純 JavaScript。


React建置補充說明

安裝 React Developer Tools (瀏覽器擴充功能)

React Developer Tools 是一個 Google Chrome 瀏覽器的擴充工具,用瀏覽器連線到 React Developer Tools,然後進行安裝(按右上角的”加到CHROME”),最後在瀏覽器中確定有啟用它。

可以用來找出錯誤訊息,而且可以觀察 React 應用程式在網頁上 JavaScript 執行的一些 log。


安裝與設定 React 開發工具

這裡使用的開發工具是 VS Code,這是一套免費的 Editor,你可以連到 Visual Studio Code 下載並且安裝適合你的電腦作業系統的版本。

VS Code 並不是那種一安裝好就有完整功能的工具,它需要要安裝額外不少的擴充套件才能用來開發 React。


結語

React白話文運動已經將近十篇了,卻才開始建立與啟動 React 專案。

之所以這麼晚才針對啟動專案做教學,是因為學習 React 前,就有滿多觀念是相當重要的,包含 npm、node.js、webpack、babel 都是未來有可能會用到的工具。

未來的文章會繼續講解 React 相關知識與技術。

如果有任何建議與疑問也歡迎留言!


備註

目前文章已移至  建立React專案 – React 白話文運動 08

未來文章一併更新於此網站 Hogan.B Lab

並且包含多語系 繁體中文英文日文簡體中文

觀看分類:React 白話文運動其他系列


React 白話文運動系列

Babel & Webpack & NPM – React 白話文運動 07

React JSX – React 白話文運動 06

React 運作原理 – React 白話文運動 05

JavaScript 高階函式 – React 白話文運動 04

JavaScript Async Await – React 白話文運動 03

JavaScript ES6 Object – React 白話文運動 02

JavaScript ES6 – React 白話文運動 01

希望能透過「React框架白話文運動」系列文章,利用口語化語表以及簡單的程式碼範例,能讓讀者更明白React的各種應用。 系列文章會講述以下: 1. 了解 ES6 JavaScript 語法 2. 了解 React 的運作原理 3. 了解 React 的狀態管理 4. 使用 React Hook管理狀態並且存取資料
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
前言這一篇會針對三個名詞做一些解釋,這些名詞是建立 React 專案,需要會的工具,包含了:Babel 是什麼?Webpack 是什麼?Npm 是什麼?當然主要介紹的是使用這些工具的概念,但是還是有其他工具可以做選擇,例如:Npm 之於 Yarn。這一篇會針對三個名詞做一些解釋,這些名詞是建立 R
React 是開發網頁、手機前端最流行的 JavaScript 套件之一。React 由 Meta 開發,使開發人員能夠創建可重覆使用的元件來完成前端頁面。JSX 也是目前我們比較常看到的 React 寫法 ,因此接下來會介紹,JSX 是什麼?JSX 語法以及使用 JSX 建構 React 元件。
React 是開發網頁、手機前端最流行的 JavaScript 套件之一。React 由 Meta 開發。React 並不是一個框架。這是因為它只負責呈現 UI 的元件。不過,React 為 Angular 和 Vue 等框架提供了另一種解決方式,使我們可以與它一起完成覆雜的前端頁面功能。
這一篇會介紹非常重要的 JavaScript 函式概念 - 高階函式(Higher-order function),高階函數是將一個或多個函數作為參數,或將一個函數作為結果返回的函數。在本文中,我們將深入探討什麽是高階函數、使用高階函數的好處以及如何在實際應用中使用高階函數,函式導向是什麼?
歡迎來到 React 白話文運動第三篇,今天我們將深入探討 JavaScript 中的非同步操作,並介紹兩個重要的關鍵字:Async 與 Await。在這篇文章中,我們將透過實例演示非同步操作的概念,以及如何使用 Promise、Fetch、Async 和 Await 來更有效地處理非同步程式。
今天會接續介紹 JS ES6 其他新穎的語法,物件解構(Object Destructuring)物件語法強化(Object Literal Enhancement)陣列解構(Array Destructuring)延展運算子(Spread Operator)。
前言這一篇會針對三個名詞做一些解釋,這些名詞是建立 React 專案,需要會的工具,包含了:Babel 是什麼?Webpack 是什麼?Npm 是什麼?當然主要介紹的是使用這些工具的概念,但是還是有其他工具可以做選擇,例如:Npm 之於 Yarn。這一篇會針對三個名詞做一些解釋,這些名詞是建立 R
React 是開發網頁、手機前端最流行的 JavaScript 套件之一。React 由 Meta 開發,使開發人員能夠創建可重覆使用的元件來完成前端頁面。JSX 也是目前我們比較常看到的 React 寫法 ,因此接下來會介紹,JSX 是什麼?JSX 語法以及使用 JSX 建構 React 元件。
React 是開發網頁、手機前端最流行的 JavaScript 套件之一。React 由 Meta 開發。React 並不是一個框架。這是因為它只負責呈現 UI 的元件。不過,React 為 Angular 和 Vue 等框架提供了另一種解決方式,使我們可以與它一起完成覆雜的前端頁面功能。
這一篇會介紹非常重要的 JavaScript 函式概念 - 高階函式(Higher-order function),高階函數是將一個或多個函數作為參數,或將一個函數作為結果返回的函數。在本文中,我們將深入探討什麽是高階函數、使用高階函數的好處以及如何在實際應用中使用高階函數,函式導向是什麼?
歡迎來到 React 白話文運動第三篇,今天我們將深入探討 JavaScript 中的非同步操作,並介紹兩個重要的關鍵字:Async 與 Await。在這篇文章中,我們將透過實例演示非同步操作的概念,以及如何使用 Promise、Fetch、Async 和 Await 來更有效地處理非同步程式。
今天會接續介紹 JS ES6 其他新穎的語法,物件解構(Object Destructuring)物件語法強化(Object Literal Enhancement)陣列解構(Array Destructuring)延展運算子(Spread Operator)。
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
先從react開始: 其實市面上有許多前端框架像是react,angular,vue... 至於為什麼我會選擇react…
※ 補充說明: ※ npm 常用指令: ◦ npm init–y:快速初始化一個新的 Node.js 並建立一個 package.json 文件的命令。 ◦ npm info 套件名稱 version:快速查詢指定 npm 套件的最新版本號。 ◦ npm install套件名稱:用來安裝
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
套件(Package)是將程式或程式庫進行組織、分發和共享的一種方式。在軟體開發中,套件通常包含了相關的程式碼、資源文件和元數據,並提供了統一的名稱空間和版本管理。
Thumbnail
在程式任何地方都能修改各種react組件狀態的做法分享
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
npm(全名 Node Package Manager,node套件管理器)
※ Express 專案步驟筆記清單 Node.js 環境建置核對 新增專案資料夾 設定 package.json npm init -y 設定程式入口為 app.js 安裝 Express:npm install express 設定主程式 app.js 建構應用程式伺服器 設定
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
先從react開始: 其實市面上有許多前端框架像是react,angular,vue... 至於為什麼我會選擇react…
※ 補充說明: ※ npm 常用指令: ◦ npm init–y:快速初始化一個新的 Node.js 並建立一個 package.json 文件的命令。 ◦ npm info 套件名稱 version:快速查詢指定 npm 套件的最新版本號。 ◦ npm install套件名稱:用來安裝
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
套件(Package)是將程式或程式庫進行組織、分發和共享的一種方式。在軟體開發中,套件通常包含了相關的程式碼、資源文件和元數據,並提供了統一的名稱空間和版本管理。
Thumbnail
在程式任何地方都能修改各種react組件狀態的做法分享
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
npm(全名 Node Package Manager,node套件管理器)
※ Express 專案步驟筆記清單 Node.js 環境建置核對 新增專案資料夾 設定 package.json npm init -y 設定程式入口為 app.js 安裝 Express:npm install express 設定主程式 app.js 建構應用程式伺服器 設定