Least React
最小限で、Reactを構築する。
Directory Structure
.
├── index.html
├── package.json
├── src
│ ├── app.tsx
│ └── main.tsx
└── vite.config.ts
Create directory
sh
mkdir least_react
sh
cd least_react
Install
sh
pnpm add react react-dom
sh
pnpm add -D @types/react @types/react-dom vite @vitejs/plugin-react-swc
Environment Build
html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Least React</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
vite.config.ts
ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
export default defineConfig({
plugins: [react()],
})
app.tsx
tsx
import React from 'react'
const App = () => {
return <h1>Least React</h1>
}
export default App
main.tsx
tsx
import React from 'react'
import { createRoot } from 'react-dom/client'
import App from './app'
const rootElement = document.getElementById('root')
const root = rootElement ? createRoot(rootElement) : console.error('Root element not found')
if (root) {
root.render(
<React.StrictMode>
<App />
</React.StrictMode>,
)
}
package.json
json
{
"name": "@apps/least_react",
"scripts": {
"dev": "vite --host"
},
"dependencies": {
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@vitejs/plugin-react-swc": "^3.7.2",
"vite": "^6.0.0"
}
}
Run
sh
pnpm run dev
Accesse Browser
http://localhost:5173/