Node.jsをインストール % node -v インストール確認 % cd documents % mkdir vite % cd vite % npm create vite@latest(Vite入れる)
npm create vite@latest というコマンドで、Viteを用いる
実行すると以下のようなコード出てくるので選択する。
✔ Project name: … vite ✔ Select a framework: › React Preact選べる ✔ Select a variant: › JavaScript Done. Now run: cd vite npm install npm run dev #プロジェクトの場所は : vite % pwd #起動 vscode の プラトホームのターミナル で npm run dev
public フォルダ内に index.html を配置する場合:
これは、 一般的です通常、静的な HTML ページとして使用されます。
React コンポーネントは、この HTML ページの特定の要素内にマウントされます。
html code
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>
Viteは通常、JavaScriptやJSX、CSS、画像、その他のリソースなど、さまざまな種類のファイルを含むソースコードを srcディレクトリに置くように推奨します。一般的に、JavaScriptファイル(.jsや.jsx)は主なコンポーネントやロジックを含むため、このディレクトリに配置されます。しかし、Viteでは他の種類のファイルも一緒に扱うことができます。 CSSファイルはJavaScriptモジュールとしてインポートされ、画像やフォントなどの静的ファイルも同様に扱われます。これらのリソースはJavaScriptやCSSから参照されることが多いため、ソースコードと同じ場所に配置されます。 ただし、公開用のHTMLファイルは通常、publicディレクトリ に配置されます。このHTMLファイルはビルド時にソースコードと組み合わせられ、最終的な公開物として生成されることが一般的です。
html code
<div id="app"> </div>
<script type="module">
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render( <App />, document.getElementById('app'));
</script>
src フォルダ内の他の React コンポーネントや JavaScript ファイルをインポートし、index.html に統合することができます。 Vite のビルドプロセスを使用してプロジェクトをビルドし、ブラウザで表示します。
npm run build
このコマンドを実行すると、Vite はプロジェクトをビルドし、本番用の最適化されたコードを生成します。デフォルトでは、ビルドしたファイルは dist フォルダ内に保存されます。
ビルド結果の確認:
ビルドが正常に完了したら、ビルド結果を確認しましょう。dist フォルダ内に生成されたファイルが本番用のアプリケーションです。
<script type="module">
import { h, render } from 'preact';
// import { h, render } from '.vite/node_modules/preact/dist/preact.module.js';
import { Canape } from './canape.jsx';
render( , document.getElementById('root'));
</script>
このコードは、Preactというライブラリを使用して単純なWebページを作成するためのものです。以下はコードの要点と説明です
ビルドは開発者向けの便利な機能を削減し、本番環境でのパフォーマンスを最適化する作業です。その結果、ユーザーがウェブサイトやアプリケーションをより高速かつ効率的に利用できるようになります。
distディレクトリは、Viteがプロジェクトをビルドする際に生成されます。通常、開発中には存在せず、npm run build npm run buildなどのビルドコマンドを実行すると、Viteがプロジェクトをビルドし、最適化されたファイルをdistディレクトリに出力します。これにより、本番用に最適化されたアセットが準備されます。
vite.config.js : code
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [react()],
build: {
outDir: 'dist', // ビルドの出力先を指定
rollupOptions: {
input: {
main: './src/main.jsx',
},
},
},
});
この設定を使用すると、Viteはビルドされたファイルをデフォルトのdistディレクトリに出力します。
その後、Verselなどのホスティングサービスにデプロイする際に、distディレクトリ内のファイルをサービスが提供するルートディレクトリに配置することで、リンクが正しく機能するはずです
node -v cd ~/Desktop mkdir vite cd vite npm create vite@latest :新しいReactプロジェクトの作成 cd <project-name> :依存関係のインストール npm install npm run dev 1、 index.html作成 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>My Vite Project </title> </head> <body> <h1>Hello, Vite! </h1> <p>This is my custom page. </p> </body> </html>
// src/main.js import './style.css'; document.querySelector('#app').innerHTML = ` <h1>Hello Vite! </h1> import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App.jsx'; import './index.css'; ReactDOM.createRoot(document.getElementById('root')).render( <React.StrictMode> <App /> </React.StrictMode> ); a href="https://vitejs.dev/guide/features.html" target="_blank">Documentation </a> `;
body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: #f0f0f0; } h1 { color: #333; } a { color: #007bff; text-decoration: none; } a:hover { text-decoration: underline; }ローカルサーバーの起動 以下のコマンドを実行して、開発サーバーを起動します。
npm run dev
import React from 'react'; const App = () => { return ( <div> <header> <h1>My Website</h1> <nav> <ul> <li><a href="#home">Home</a></li> <li><a href="#about">About</a></li> <li><a href="#services">Services</a></li> <li><a href="#contact">Contact</a></li> </ul> </nav> </header> <main> <section id="home"> <h2>Home</h2> <p>Welcome to the homepage!</p> </section> <section id="about"> <h2>About</h2> <p>This is the about section.</p> </section> <section id="services"> <h2>Services</h2> <p>Here are the services we offer.</p> </section> <section id="contact"> <h2>Contact</h2> <p>Get in touch with us!</p> </section> <h1>Hello Vite!</h1> <a href="https://vitejs.dev/guide/features.html" target="_blank">Documentation</a> </main> </div> ); }; export default App;
body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: #f0f0f0; // 背景色を薄いグレー 白 } header { background-color: #282c34; //重い青 padding: 20px; color: white; } header h1 { margin: 0; display: inline-block; } nav ul { list-style-type: none; padding: 0; } nav ul li { display: inline; margin-right: 20px; } nav ul li a { color: white; text-decoration: none; } nav ul li a:hover { text-decoration: underline; } main { padding: 20px; } section { padding: 20px 0; } section:nth-child(odd) { background-color: #fff; } section:nth-child(even) { background-color: #f9f9f9; } a { color: #007bff; text-decoration: none; } a:hover { text-decoration: underline; }
import React from 'react'; import { BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom'; import Home from './pages/Home'; import About from './pages/About'; import Services from './pages/Services'; import Contact from './pages/Contact'; const App = () => { return ( <Router> <div> <header> <h1>My Website</h1> <nav> <ul> <li><Link to="/">Home</Link></li> <li><Link to="/about">About</Link></li> <li><Link to="/services">Services</Link></li> <li><Link to="/contact">Contact</Link></li> </ul> </nav> </header> <main> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="/services" element={<Services />} /> <Route path="/contact" element={<Contact />} /> </Routes> </main> </div> </Router> ); }; export default App;
import React from 'react'; const Home = () => { return ( <section> <h2>Home <p>Welcome to the homepage! </section> ); }; export default Home;src/pages/About.jsx
import React from 'react'; const About = () => { return ( <section> <h2>About</h2> <p>This is the about section.</p> </section> ); }; export default About;src/pages/Services.jsx
import React from 'react'; const Services = () => { return ( <section> <h2>Services</h2> <p>Here are the services we offer.</p> </section> ); }; export default Services;src/pages/Contact.jsx
import React from 'react'; const Contact = () => { return ( <section> <h2>Contact</h2> <p>Get in touch with us!</p> </section> ); }; export default Contact;3. React Routerをインストールしてルーティングを設定 React Routerをインストールして、ルーティングを設定します。 React Routerのインストール
npm install react-router-dom
vite-project/ ├── src/ │ ├── assets/ │ │ └── osiro.JPG │ ├── App.jsx │ ├── main.jsx │ └── pages/ │ └── Home.jsxHomeコンポーネントに画像を表示するコードを追加します。
import React from 'react'; import osiroImage from '../assets/osiro.JPG'; const Home = () => { return ( <section> <h2>Home</h2> <p>Welcome to the homepage!</p> <img src={osiroImage} alt="Oshiro" /> </section> ); }; export default Home;App.jsxにHomeコンポーネントが正しく設定されているか確認してください。以下はその確認です。
import React from 'react'; import { BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom'; import Home from './pages/Home'; import About from './pages/About'; import Services from './pages/Services'; import Contact from './pages/Contact'; const App = () => { return ( <Router> <div> <header> <h1>My Website</h1> <nav> <ul> <li><Link to="/">Home</Link></li> <li><Link to="/about">About</Link></li> <li><Link to="/services">Services</Link></li> <li><Link to="/contact">Contact</Link></li> </ul> </nav> </header> <main> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="/services" element={<Services />} /> <Route path="/contact" element={<Contact />} /> </Routes> </main> </div> </Router> ); }; export default App;開発サーバーを起動して
npm run dev
、変更を確認します。
import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [react()], assetsInclude: ['**/*.JPG'] });Reactコンポーネントで画像ファイルをインポートして使用します。
import React from 'react'; import osiroImage from '../assets/osiro.JPG'; const Home = () => { return ( <section> <h2>Home</h2> <p>Welcome to the homepage!</p> <img src={osiroImage} alt="Oshiro" /> </section> ); }; export default Home;Viteの設定ファイルを変更したので、開発サーバーを再起動する
npm run dev必要があります。
このページ編集するには project名/public/start.html
にあるファイルを開く