」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Next.js - 概述

Next.js - 概述

發佈於2024-11-02
瀏覽:487

本文作為初學者友好的指南和使用 Next.js 的步驟。

Next.js 是一個用於建立 Web 應用程式的靈活框架。相反,它是一個建立在 Node.js 之上的 React 框架。

設定您的 Next.js 專案
要啟動新的 Next.js 項目,您需要在電腦上安裝 Node.js。

安裝
安裝時,打開終端機並執行以下命令來建立新的 Next.js 專案: npx create-next-app@latest my-nextjs-app
Next.js 提供了一個已經寫好的程式碼,反映了現實世界的開發,以便熟悉現有的程式碼庫。
安裝完成後,導航至專案目錄並運行開發伺服器:
cd my-nextjs-app
npm 運行開發

資料夾結構
典型的 Next.js 專案結構由幾個關鍵資料夾組成:

  • page/:此資料夾包含定義應用程式路由的檔案。該資料夾中的每個檔案對應一條路線。
  • public/:您可以在此處儲存圖像、字體和圖示等靜態資源。此處的文件可透過 URL 存取。
  • styles/:此資料夾保存全域和特定於元件的樣式。預設情況下,它包含一個全域 CSS 檔案。
  • components/:可重複使用的 React 元件。
  • api/:API路由,用於伺服器端功能(選用)。

Nextjs 是首選框架,因為它提供了各種內建功能,例如:

  1. 自動程式碼分割以加快頁面載入速度。 - Next.js 會自動執行程式碼分割,因此每個頁面僅載入該頁面所需的內容。這意味著最初不會提供其他頁面的程式碼。

  2. 具有最佳化預取的客戶端路由。

  3. 直覺的基於頁面的路由系統(支援動態路由)

  4. 預先渲染,每頁支援靜態產生(SSG)和伺服器端渲染(SSR)。 - 提前為每個頁面產生 HTML,而不是由客戶端 JavaScript 完成。

  5. 如果我們不需要預先渲染數據,我們也可以使用稱為客戶端渲染的策略,其中:

    1. 靜態產生(預先渲染)不需要外部資料的頁面部分。
    2. 頁面載入時,使用 JavaScript 從客戶端取得外部資料並填入其餘部分。
  6. 內建 CSS 和 Sass 支援適用於任何 CSS-in-JS 函式庫。

  7. 支援快速刷新的開發環境。

  8. 使用無伺服器函數建立 API 端點的 API 路由

  9. Next.js 支援 API 路由,這讓我們可以輕鬆建立 API 端點作為 Node.js 無伺服器函數。我們可以透過在pages/api目錄中建立一個函數來做到這一點。

  10. 完全可擴展。

結論
Next.js 的入門非常簡單,該框架在靈活性和易用性之間提供了出色的平衡。無論您是建立個人部落格、企業網站還是複雜的 Web 應用程序,Next.js 都能提供工具和功能來幫助您快速建立可擴展的高效能應用程式。

Next.js - Overview

版本聲明 本文轉載於:https://dev.to/swahilipotdevs/nextjs-overview-1o8a?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • Java中假喚醒真的會發生嗎?
    Java中假喚醒真的會發生嗎?
    在Java中的浪費喚醒:真實性或神話? 在Java同步中偽裝喚醒的概念已經是討論的主題。儘管存在這種行為的潛力,但問題仍然存在:它們實際上是在實踐中發生的嗎? Linux的喚醒機制根據Wikipedia關於偽造喚醒的文章,linux實現了pthread_cond_wait()功能的Linux實現,...
    程式設計 發佈於2025-05-19
  • Spark DataFrame添加常量列的妙招
    Spark DataFrame添加常量列的妙招
    在Spark Dataframe ,將常數列添加到Spark DataFrame,該列具有適用於所有行的任意值的Spark DataFrame,可以通過多種方式實現。使用文字值(SPARK 1.3)在嘗試提供直接值時,用於此問題時,旨在為此目的的column方法可能會導致錯誤。 df.withCo...
    程式設計 發佈於2025-05-19
  • Python環境變量的訪問與管理方法
    Python環境變量的訪問與管理方法
    Accessing Environment Variables in PythonTo access environment variables in Python, utilize the os.environ object, which represents a mapping of envir...
    程式設計 發佈於2025-05-19
  • 切換到MySQLi後CodeIgniter連接MySQL數據庫失敗原因
    切換到MySQLi後CodeIgniter連接MySQL數據庫失敗原因
    無法連接到mySQL數據庫:故障排除錯誤消息要調試問題,建議將以下代碼添加到文件的末尾.//config/database.php並查看輸出: ... ... 迴聲'... echo '<pre>'; print_r($db['default']); echo '</pr...
    程式設計 發佈於2025-05-19
  • 大批
    大批
    [2 數組是對象,因此它們在JS中也具有方法。 切片(開始):在新數組中提取部分數組,而無需突變原始數組。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    程式設計 發佈於2025-05-19
  • Python中嵌套函數與閉包的區別是什麼
    Python中嵌套函數與閉包的區別是什麼
    嵌套函數與python 在python中的嵌套函數不被考慮閉合,因為它們不符合以下要求:不訪問局部範圍scliables to incling scliables在封裝範圍外執行範圍的局部範圍。 make_printer(msg): DEF打印機(): 打印(味精) ...
    程式設計 發佈於2025-05-19
  • 在細胞編輯後,如何維護自定義的JTable細胞渲染?
    在細胞編輯後,如何維護自定義的JTable細胞渲染?
    在JTable中維護jtable單元格渲染後,在JTable中,在JTable中實現自定義單元格渲染和編輯功能可以增強用戶體驗。但是,至關重要的是要確保即使在編輯操作後也保留所需的格式。 在設置用於格式化“價格”列的“價格”列,用戶遇到的數字格式丟失的“價格”列的“價格”之後,問題在設置自定義單元...
    程式設計 發佈於2025-05-19
  • 如何處理PHP文件系統功能中的UTF-8文件名?
    如何處理PHP文件系統功能中的UTF-8文件名?
    在PHP的Filesystem functions中處理UTF-8 FileNames 在使用PHP的MKDIR函數中含有UTF-8字符的文件很多flusf-8字符時,您可能會在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    程式設計 發佈於2025-05-19
  • Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    在ASP.NET async void void async void void void void void的設計無需返回asynchroncon而無需返回任務對象。他們在執行過程中增加未償還操作的計數,並在完成後減少。在某些情況下,這種行為可能是有益的,例如未期望或明確預期操作結果的火災和...
    程式設計 發佈於2025-05-19
  • 為什麼我的CSS背景圖像出現?
    為什麼我的CSS背景圖像出現?
    故障排除:CSS背景圖像未出現 ,您的背景圖像儘管遵循教程說明,但您的背景圖像仍未加載。圖像和样式表位於相同的目錄中,但背景仍然是空白的白色帆布。 而不是不棄用的,您已經使用了CSS樣式: bockent {背景:封閉圖像文件名:背景圖:url(nickcage.jpg); 如果您的html,cs...
    程式設計 發佈於2025-05-19
  • Python高效去除文本中HTML標籤方法
    Python高效去除文本中HTML標籤方法
    在Python中剝離HTML標籤,以獲取原始的文本表示Achieving Text-Only Extraction with Python's MLStripperTo streamline the stripping process, the Python standard librar...
    程式設計 發佈於2025-05-19
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-05-19
  • 如何將PANDAS DataFrame列轉換為DateTime格式並按日期過濾?
    如何將PANDAS DataFrame列轉換為DateTime格式並按日期過濾?
    Transform Pandas DataFrame Column to DateTime FormatScenario:Data within a Pandas DataFrame often exists in various formats, including strings.使用時間數據時...
    程式設計 發佈於2025-05-19
  • 如何克服PHP的功能重新定義限制?
    如何克服PHP的功能重新定義限制?
    克服PHP的函數重新定義限制在PHP中,多次定義一個相同名稱的函數是一個no-no。嘗試這樣做,如提供的代碼段所示,將導致可怕的“不能重新列出”錯誤。 但是,PHP工具腰帶中有一個隱藏的寶石:runkit擴展。它使您能夠靈活地重新定義函數。 runkit_function_renction_...
    程式設計 發佈於2025-05-19
  • FastAPI自定義404頁面創建指南
    FastAPI自定義404頁面創建指南
    response = await call_next(request) if response.status_code == 404: return RedirectResponse("https://fastapi.tiangolo.com") else: ...
    程式設計 發佈於2025-05-19

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

Copyright© 2022 湘ICP备2022001581号-3