在這個例子中,你可以看到script標籤直接載入main.jsx。這種直接包含是與 Create React App 的主要區別,增強了對專案入口點的清晰度和控制。

1.1 依賴關係

為了確保您的腳本檔案正確加載,Vite 利用現代 ES 模組導入。確保您的 package.json 包含必要的依賴:

\\\"dependencies\\\": {  \\\"react\\\": \\\"^18.2.0\\\",  \\\"react-dom\\\": \\\"^18.2.0\\\"}

在 HTML 檔案中明確包含腳本可確保應用程式的正確載入和執行順序,從而減輕腳本載入的潛在問題。

2.main.jsx

main.jsx 檔案充當 React 應用程式的入口點。該檔案負責將根元件渲染到 DOM 中。它通常是在index.html 中腳本標記的src 屬性中指定的檔案。

import React from \\'react\\';import ReactDOM from \\'react-dom/client\\';import App from \\'./App.jsx\\';import \\'./index.css\\';// Render the root component into the root element in the HTMLReactDOM.createRoot(document.getElementById(\\'root\\')).render(        );

在此文件中,ReactDOM.createRoot 用於將 App 元件渲染到具有 id root 的 HTML 元素中。這種直接渲染方法無需臨時保留任何根元素,從而簡化了流程,使應用程式從何處啟動以及涉及哪些元件變得清晰可見。

3.應用程式.jsx

App.jsx 檔案包含主應用程式元件的定義。該元件作為 React 元件樹的根。

import React from \\'react\\';const App = () => {  return (    

Hello, Vite and React!

);};export default App;

在此文件中,您定義應用程式的主要結構和行為。 App 元件是您建立主要 UI 和功能的地方,就像在任何其他 React 專案中一樣。

附加資料和最佳實踐

4. 將 Tailwind CSS 與 Vite 結合使用

Tailwind CSS 可以輕鬆整合到 Vite 專案中,實現實用優先的樣式。

  1. 安裝 Tailwind CSS:
npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p
  1. 配置 Tailwind:

使用專案的特定路徑更新 tailwind.config.js:

module.exports = {  content: [\\'./index.html\\', \\'./src/**/*.{js,jsx,ts,tsx}\\'],  theme: {    extend: {},  },  plugins: [],};
  1. 在 CSS 中包含 Tailwind:

更新index.css以包含Tailwind的基礎、元件和實用程式:

@tailwind base;@tailwind components;@tailwind utilities;

5. 模組熱更換(HMR)

Vite提供開箱即用的HMR,讓您無需刷新頁面即可即時看到變化。

6. 環境變數

Vite使用.env檔來管理環境變數。在專案的根目錄中建立一個 .env 檔案並定義變數:

VITE_API_URL=https://api.example.com

使用 import.meta.env:
在應用程式中存取這些變量

const apiUrl = import.meta.env.VITE_API_URL;

7. 優化建置流程

Vite 的建置命令(vite build)在底層使用 Rollup 來產生高度最佳化的靜態資產以用於生產。這可確保您的應用程式快速且有效率。

結論

在React專案中使用Vite可以提供精簡且有效率的開發體驗。了解 index.html、main.jsx 和 App.jsx 等關鍵檔案的流程和結構可以顯著增強您的開發過程。憑藉 Tailwind CSS 整合、HMR 和優化建置的附加優勢,Vite 成為 React 開發人員的現代、強大工具。

透過利用這些功能和最佳實踐,您可以輕鬆建立高效能、可擴展且可維護的應用程式。

","image":"http://www.luping.net/uploads/20240731/172241388566a9f33d9b199.jpg","datePublished":"2024-07-31T16:18:05+08:00","dateModified":"2024-07-31T16:18:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 了解 React 專案中的 Vite 流程和結構

了解 React 專案中的 Vite 流程和結構

發佈於2024-07-31
瀏覽:914

Understanding Vite Flow and Structure in a React Project

使用 React 時,Vite 提供了簡化的開發體驗,與傳統的 Create React App 設定有一些關鍵差異。本篇部落格文章將探討典型Vite專案的結構,重點在於index.html、main.jsx、App.jsx等關鍵檔案。

1.index.html

在 Vite 支援的 React 應用程式中,index.html 是一個關鍵的起點。與 Create React App 自動注入腳本不同,Vite 要求您直接指定腳本檔案。這種顯式包含簡化了對應用程式的入口點和依賴項的理解。


  
    Vite   React

在這個例子中,你可以看到script標籤直接載入main.jsx。這種直接包含是與 Create React App 的主要區別,增強了對專案入口點的清晰度和控制。

1.1 依賴關係

為了確保您的腳本檔案正確加載,Vite 利用現代 ES 模組導入。確保您的 package.json 包含必要的依賴:

"dependencies": {
  "react": "^18.2.0",
  "react-dom": "^18.2.0"
}

在 HTML 檔案中明確包含腳本可確保應用程式的正確載入和執行順序,從而減輕腳本載入的潛在問題。

2.main.jsx

main.jsx 檔案充當 React 應用程式的入口點。該檔案負責將根元件渲染到 DOM 中。它通常是在index.html 中腳本標記的src 屬性中指定的檔案。

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App.jsx';
import './index.css';

// Render the root component into the root element in the HTML
ReactDOM.createRoot(document.getElementById('root')).render(
  
);

在此文件中,ReactDOM.createRoot 用於將 App 元件渲染到具有 id root 的 HTML 元素中。這種直接渲染方法無需臨時保留任何根元素,從而簡化了流程,使應用程式從何處啟動以及涉及哪些元件變得清晰可見。

3.應用程式.jsx

App.jsx 檔案包含主應用程式元件的定義。該元件作為 React 元件樹的根。

import React from 'react';

const App = () => {
  return (
    

Hello, Vite and React!

); }; export default App;

在此文件中,您定義應用程式的主要結構和行為。 App 元件是您建立主要 UI 和功能的地方,就像在任何其他 React 專案中一樣。

附加資料和最佳實踐

4. 將 Tailwind CSS 與 Vite 結合使用

Tailwind CSS 可以輕鬆整合到 Vite 專案中,實現實用優先的樣式。

  1. 安裝 Tailwind CSS:
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
  1. 配置 Tailwind:

使用專案的特定路徑更新 tailwind.config.js:

module.exports = {
  content: ['./index.html', './src/**/*.{js,jsx,ts,tsx}'],
  theme: {
    extend: {},
  },
  plugins: [],
};
  1. 在 CSS 中包含 Tailwind:

更新index.css以包含Tailwind的基礎、元件和實用程式:

@tailwind base;
@tailwind components;
@tailwind utilities;

5. 模組熱更換(HMR)

Vite提供開箱即用的HMR,讓您無需刷新頁面即可即時看到變化。

6. 環境變數

Vite使用.env檔來管理環境變數。在專案的根目錄中建立一個 .env 檔案並定義變數:

VITE_API_URL=https://api.example.com

使用 import.meta.env:
在應用程式中存取這些變量

const apiUrl = import.meta.env.VITE_API_URL;

7. 優化建置流程

Vite 的建置命令(vite build)在底層使用 Rollup 來產生高度最佳化的靜態資產以用於生產。這可確保您的應用程式快速且有效率。

結論

在React專案中使用Vite可以提供精簡且有效率的開發體驗。了解 index.html、main.jsx 和 App.jsx 等關鍵檔案的流程和結構可以顯著增強您的開發過程。憑藉 Tailwind CSS 整合、HMR 和優化建置的附加優勢,Vite 成為 React 開發人員的現代、強大工具。

透過利用這些功能和最佳實踐,您可以輕鬆建立高效能、可擴展且可維護的應用程式。

版本聲明 本文轉載於:https://dev.to/vyan/understanding-vite-flow-and-structure-in-a-react-project-2e84?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • Next.js - 概述
    Next.js - 概述
    本文作為初學者友好的指南和使用 Next.js 的步驟。 Next.js 是一個用於建立 Web 應用程式的靈活框架。相反,它是一個建立在 Node.js 之上的 React 框架。 設定您的 Next.js 專案 要啟動新的 Next.js 項目,您需要在電腦上安裝 Node.js。 安裝 ...
    程式設計 發佈於2024-11-02
  • 如何在程式碼中使用 Unsplash 圖片
    如何在程式碼中使用 Unsplash 圖片
    身為從事新 SaaS 專案的開發人員,我需要直接透過 URL 連結一些 Unsplash 圖片。 最初,我看到一篇推薦使用 https://source.unsplash.com/ API 的文章(連結)。但是,此方法不再有效,僅從 URL 欄位複製連結並不能提供嵌入所需的直接圖像 URL。 h...
    程式設計 發佈於2024-11-02
  • 如何合併關聯數組、處理缺失鍵、填滿預設值?
    如何合併關聯數組、處理缺失鍵、填滿預設值?
    合併多個關聯數組並添加具有預設值的缺失列將關聯數組與不同的鍵集組合起來創建統一的數組可能具有挑戰性。這個問題探索了一種實現此目的的方法,所需的輸出是一個數組,其中鍵被合併,缺失的列用預設值填充。 為了實現這一點,建議結合使用 array_merge 函數精心設計的鍵數組:$keys = array(...
    程式設計 發佈於2024-11-02
  • 透過 testcontainers-go 和 docker-compose 來利用您的測試套件
    透過 testcontainers-go 和 docker-compose 來利用您的測試套件
    Welcome back, folks! Today, we will cover the end-to-end tests in an intriguing blog post. If you've never written these kinds of tests or if you stri...
    程式設計 發佈於2024-11-02
  • 以下是一些適合您文章的基於問題的標題:

**直接簡潔:**

* **如何在Windows控制台中正確顯示UTF-8字元? ** **
* **為什麼傳統方法無法顯示
    以下是一些適合您文章的基於問題的標題: **直接簡潔:** * **如何在Windows控制台中正確顯示UTF-8字元? ** ** * **為什麼傳統方法無法顯示
    在Windows 控制台中正確顯示UTF-8 字元使用傳統方法在Windows 控制台中顯示UTF-8 字元的許多嘗試均失敗正確渲染擴充字元。 失敗嘗試:一個使用 MultiByteToWideChar() 和 wprintf() 的常見方法被證明是無效的,只留下 ASCII 字元可見。此外,使用 ...
    程式設計 發佈於2024-11-02
  • ReactJS 的模擬介紹
    ReactJS 的模擬介紹
    ReactJS 19:重要部份 並發模式增強: ReactJS 19 中最大的改進是並發模式,它不僅在應用程式自身更新時保持UI 平滑和響應靈敏,而且還確保了無縫界面,尤其是在復雜的過渡(例如動畫)時。 改進的伺服器元件: 在 Python 的引領下,ReactJ...
    程式設計 發佈於2024-11-02
  • 首屆DEV網頁遊戲挑戰賽評審
    首屆DEV網頁遊戲挑戰賽評審
    我被要求對DEV團隊9月份組織的第一屆網頁遊戲挑戰賽提交的參賽作品進行評判,結果在10月初發布。 我們幾個月來一直在 DEV 上組織挑戰(迷你黑客馬拉松),併計劃宣布我們的第一個網頁遊戲挑戰。鑑於您在遊戲社群 和 dev.to 的專業知識和參與度,我們想知道您是否有興趣成為客座評審。 誰能對此說...
    程式設計 發佈於2024-11-02
  • 購買經過驗證的現金應用程式帳戶:安全可靠的交易
    購買經過驗證的現金應用程式帳戶:安全可靠的交易
    Buying verified Cash App accounts is not recommended. It can lead to security risks and potential account bans. If you want to more information just k...
    程式設計 發佈於2024-11-02
  • 為什麼 `std::function` 缺乏相等比較?
    為什麼 `std::function` 缺乏相等比較?
    揭開std::function 的等式可比性之謎難題:為什麼是std::&&]難題:為什麼是std:: function,現代C 程式碼庫的一個組成部分,不具備相等比較功能?這個問題從一開始就困擾著程式設計師,導致管理可呼叫物件集合的混亂和困難。 早期的歧義:在C 語言的早期草案中11 標準中,op...
    程式設計 發佈於2024-11-02
  • JavaScript 類型檢查 |程式設計教學
    JavaScript 類型檢查 |程式設計教學
    介紹 本文涵蓋以下技術技能: 在本實驗中,我們將探索一個 JavaScript 函數,該函數檢查提供的值是否屬於指定類型。我們將使用 is() 函數,它利用建構子屬性和 Array.prototype.includes() 方法來確定值是否屬於指定類型。本實驗將幫助您更了解 Jav...
    程式設計 發佈於2024-11-02
  • 使用 Streamlit 將機器學習模型部署為 Web 應用程式
    使用 Streamlit 將機器學習模型部署為 Web 應用程式
    介绍 机器学习模型本质上是一组用于进行预测或查找数据模式的规则或机制。简单地说(不用担心过于简单化),在 Excel 中使用最小二乘法计算的趋势线也是一个模型。然而,实际应用中使用的模型并不那么简单——它们通常涉及更复杂的方程和算法,而不仅仅是简单的方程。 在这篇文章中,我将首先构...
    程式設計 發佈於2024-11-02
  • ## utf8_unicode_ci 與 utf8_bin:哪一種 MySQL 排序規則最適合德國網站?
    ## utf8_unicode_ci 與 utf8_bin:哪一種 MySQL 排序規則最適合德國網站?
    為德語選擇最佳MySQL 排序規則為德語選擇最佳MySQL 排序規則在設計為德語受眾量身定制的網站時,支持像ä、 ü 和ß。當涉及特定於語言的要求時,排序規則的選擇起著重要作用。 字元集和排序規則對於字元處理,UTF-8 仍然是首選選項,提供廣泛的字元支援。至於排序規則,則需要考慮德語特定字元。 排...
    程式設計 發佈於2024-11-02
  • 異常處理基礎知識
    異常處理基礎知識
    Java中的例外處理由五個關鍵字管理:try、catch、 throw、throws和finally。 這些關鍵字構成了一個相互關聯的子系統。 要監視的指令位於 try 區塊內。 如果try區塊中發生異常,則會拋出異常。 程式碼可以使用catch捕獲並處理異常。 系統異常由Java執行時...
    程式設計 發佈於2024-11-02
  • 好的第一期:做出您的第一個開源貢獻
    好的第一期:做出您的第一個開源貢獻
    嘿,未來的開源貢獻者! ? 一開始為開源做出貢獻可能會令人生畏,尤其是當專案有數千行程式碼並且對問題進行深入討論時。但這就是為什麼好的首要問題存在。它們就像是一個友好的邀請,讓你嘗試並熟悉操作,而不會迷失在雜草中。將它們視為幫助您開始騎乘的輔助輪。 無論如何,什麼是好的第一期? ...
    程式設計 發佈於2024-11-02
  • 目錄:Django 基礎知識
    目錄:Django 基礎知識
    點此收聽我的直播 目錄:Django 基礎 Django簡介 Django框架概述 安裝Python 設定虛擬環境 安裝 Django 創建您的第一個 Django 專案 Django 專案架構 瞭解 Django 的專案佈局 管理 Django 設定 配置資料庫設定 urls.py、views....
    程式設計 發佈於2024-11-02

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3