React - 框架
4 min read
React - 框架
![]()
前言
框架是用來幫助工程師更快速創建模板所需要的配置,讓開發者能更快更工程化的建構出基本的網頁。
React 框架
- 框架:用來幫助工程師快速創建模板
- 包含了所需要的配置
- 下載了所有相關的依賴
- 可以直接運行簡單的效果
- React 提供了一個創建 React 框架庫:
create-react-app - 技術架構核心為:React + Webpack + ES6 + ESLink
- 使用框架開發的特點:模組化、組件化、工程化
創建並開啟 ( 以 NPM 為例 )
注意:需對 NPM 或 Yarm 有基礎知識
- 全局安裝:
npm i -g create-react-app - 切換到想創建的目錄,使用:
create-react-app your_project_name - 進入項目文件夾:
cd your_project_name - 啟動項目:
npm start
- 取消伺服器:按鍵盤上的
Ctrl+C
架構

- 紅色:框架所需用的依賴包
- 藍色:靜態資源文件夾
favicon.ico網頁圖標index.html主頁面,只會有一個, SPA 的概念manifest.json應用程式加殼技術robots.txt爬蟲協議文件
- 綠色:原始碼文件夾
App.cssApp 組件的樣式App.jsApp 組件App.test.js用於給 App 做測試index.css主樣式index.js入口文件reportWebVitals.js是用來效能檢測用的setupTests.js是用來單元測試用的
.gitignore是 Git 文件package-lock.jsonNPM 的緩存文件package.json是套件說明文件README.md是說明文檔
index.html
打開public內的index.html,可以發現他有一個root節點,負責展示出組件頁面的,只會有一個,節點也只會有一個
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
App.js
打開src裡的App.js,可以發現它是一個函數式組件
import logo from './logo.svg'
import './App.css'
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit
{' '}
<code>src/App.js</code>
{' '}
and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
)
}
export default Appindex.js
打開src裡的index.js,會發現他有引入React、ReactDOM、App組件
import React from 'react'
import ReactDOM from 'react-dom'
import App from './App'
import reportWebVitals from './reportWebVitals'
import './index.css'
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
)
reportWebVitals()參考資料
Related Posts
Johnson Mao
A passionate software engineer and blogger sharing thoughts on technology, AI, and development.