NextJS - 安裝

更新於 發佈於 閱讀時間約 6 分鐘

# Automatic Installation

  • 我們建議使用 create-next-app 開始一個新的 Next.js 應用,它會自動為你設置所有內容。
  • 要建立專案,請執行以下指令:
    Terminal:
    npx create-next-app@latest
  • 安裝過程中,你會看到以下提示:
    Terminal:
    1. 專案名稱是什麼?my-app
    2. 是否使用 TypeScript?No / Yes
    3. 是否使用 ESLint?No / Yes
    4. 是否使用 Tailwind CSS?No / Yes
    5. 是否使用 src/ 目錄?No / Yes
    6. 是否使用 App Router?(建議使用)No / Yes
    7. 是否自訂預設的匯入別名(@/*)?No / Yes
    8. 你想要設定的匯入別名是什麼?@/*
  • 回答提示後,create-next-app 會建立一個以你的專案名稱命名的資料夾,並安裝所需的相依項。
  • 如果你是 Next.js 的新手,請查看專案結構文件,了解應用程式中所有可能的檔案和資料夾。
  • 注意事項:
    • Next.js 現在預設支援 TypeScript、ESLint 和 Tailwind CSS 配置。
    • 你可以選擇在專案的根目錄中使用 src 目錄,以將應用程式的程式碼與配置檔案分開。

# Manual Installation

  • 手動創建一個新的 Next.js 應用時,安裝所需的套件:
    Terminal:
    npm install next@latest react@latest react-dom@latest
  • 開啟 package.json 檔案,並新增以下 scripts:
    package.json:
    {
    "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
    }
    }
  • 這些 scripts 指的是應用程式開發的不同階段:
    • dev: 執行 next dev,以開發模式啟動 Next.js。
    • build: 執行 next build,以生產環境建構應用程式。
    • start: 執行 next start,啟動 Next.js 生產伺服器。
    • lint: 執行 next lint,設置 Next.js 內建的 ESLint 配置。
  • 建立目錄:
    • Next.js 使用檔案系統路由,應用程式中的路由由檔案結構決定。
  • app 目錄:
    • 對於新應用程式,建議使用 App Router。此路由允許使用 React 的最新功能,是基於社群回饋的 Pages Router 演進版本。
    • 建立 app/ 資料夾,然後新增 layout.tsx 和 page.tsx 檔案,這些檔案會在使用者訪問應用程式的根目錄(/)時渲染。
  • App 資料夾結構:
    • 在 app/layout.tsx 裡創建根佈局,包含必需的 <html> 和 <body> 標籤:
      export default function RootLayout({
      children,
      }: {
      children: React.ReactNode
      }) {
      return (
      <html lang="en">
      <body>{children}</body>
      </html>
      )
      }
    • 在 app/page.tsx 裡創建首頁,並加入一些初始內容:
      export default function Page() {
      return <h1>Hello, Next.js!</h1>
      }
    • 注意事項:如果你忘記建立 layout.tsx,當你執行 next dev 開發伺服器時,Next.js 會自動創建這個檔案。
  • pages 目錄(選擇性):
    • 如果你更喜歡使用 Pages Router,可以在專案根目錄創建 pages/ 資料夾。
    • 在 pages/ 資料夾中新增 index.tsx,這會是你的首頁(/):
      export default function Page() {
      return <h1>Hello, Next.js!</h1>
      }
    • 在 pages/ 資料夾中新增 _app.tsx 檔案,用來定義全域佈局:
      import type { AppProps } from 'next/app'

      export default function App({ Component, pageProps }: AppProps) {
      return <Component {...pageProps} />
      }
    • 在 pages/ 資料夾中新增 _document.tsx 檔案,用來控制伺服器的初始回應:
      import { Html, Head, Main, NextScript } from 'next/document'

      export default function Document() {
      return (
      <Html>
      <Head />
      <body>
      <Main />
      <NextScript />
      </body>
      </Html>
      )
      }
  • 注意事項:
    • 雖然你可以在同一專案中同時使用兩種路由,但 app 目錄中的路由優先於 pages。我們建議在新專案中只使用一種路由,以避免混淆。
  • public 目錄(選擇性):
    • 建立 public 資料夾來存放靜態資源,如圖片、字型等。檔案可以從基底 URL(/)開始在程式碼中引用。

# Run the Development Server

  • 執行 npm run dev 來啟動開發伺服器。
  • 造訪 http://localhost:3000 來查看你的應用程式。
  • 編輯 app/page.tsx(或 pages/index.tsx)檔案,並儲存以在瀏覽器中查看更新後的結果。

# 參考

Next.js Documentation

留言
avatar-img
留言分享你的想法!
avatar-img
Learn or Die
0會員
16內容數
分享程式技術
Learn or Die的其他內容
2025/04/27
# Memoized Cache Driver 12.9 新增 memo cache driver,可以對 cache 在做一層 memory cache,比如第一次從 Redis cache 撈,但在同一個 req 當中,之後都可從 PHP Process memory 當中撈 <?php C
2025/04/27
# Memoized Cache Driver 12.9 新增 memo cache driver,可以對 cache 在做一層 memory cache,比如第一次從 Redis cache 撈,但在同一個 req 當中,之後都可從 PHP Process memory 當中撈 <?php C
2025/04/27
每個應用程式的骨架是路由。此頁將介紹網頁路由的基本概念,以及如何在 Next.js 中處理路由。 # 術語 你會在文件中看到這些術語,以下是快速參考: # 元件樹的術語 tree:用來視覺化階層結構的一種約定。例如包含父元件和子元件的元件樹、資料夾結構等。 subtree:tree 的
Thumbnail
2025/04/27
每個應用程式的骨架是路由。此頁將介紹網頁路由的基本概念,以及如何在 Next.js 中處理路由。 # 術語 你會在文件中看到這些術語,以下是快速參考: # 元件樹的術語 tree:用來視覺化階層結構的一種約定。例如包含父元件和子元件的元件樹、資料夾結構等。 subtree:tree 的
Thumbnail
2025/04/24
# Query Builder pipe() Method 12.4 新增 pipe() method 定義在特定 model,且只有該 model 可重複使用時,使用 scope 不一定要定義在 model,可定義在單獨 class,且可在多個 model 中 reuse,使用 tap 不
2025/04/24
# Query Builder pipe() Method 12.4 新增 pipe() method 定義在特定 model,且只有該 model 可重複使用時,使用 scope 不一定要定義在 model,可定義在單獨 class,且可在多個 model 中 reuse,使用 tap 不
看更多
你可能也想看
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
接續上一篇 Step2:VC#專案建立 Step3:IIS新建站台 Step4:VC#架設到IIS中
Thumbnail
接續上一篇 Step2:VC#專案建立 Step3:IIS新建站台 Step4:VC#架設到IIS中
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
本章目的是為讀者提供有關如何設置JavaScript開發環境的知識,包括在瀏覽器、Node.js和各種編輯器和IDE中編寫和運行JavaScript的信息。此外,本章還介紹了如何架設本地開發伺服器以模擬實際的網頁環境。這些知識對於希望開發前端應用或後端服務的JavaScript開發者來說都是必要的。
Thumbnail
本章目的是為讀者提供有關如何設置JavaScript開發環境的知識,包括在瀏覽器、Node.js和各種編輯器和IDE中編寫和運行JavaScript的信息。此外,本章還介紹了如何架設本地開發伺服器以模擬實際的網頁環境。這些知識對於希望開發前端應用或後端服務的JavaScript開發者來說都是必要的。
Thumbnail
本文提供完成訂閱後的相關事項及安裝指引,包括填寫問卷、遠端開通Trading View帳號、指標安裝步驟等。另外也提供影片教學和紙本教學,以及解決安裝問題的方法。
Thumbnail
本文提供完成訂閱後的相關事項及安裝指引,包括填寫問卷、遠端開通Trading View帳號、指標安裝步驟等。另外也提供影片教學和紙本教學,以及解決安裝問題的方法。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
Nuxt 的安裝流程,一起來試試看吧
Thumbnail
Nuxt 的安裝流程,一起來試試看吧
Thumbnail
在過年期間,利用集中時間跟完Mosh Hamedani的Next.js課程,掌握了前端至後端的技術應用。本文分享了學習過程中的收穫與成果,以及對於未來應用的展望。
Thumbnail
在過年期間,利用集中時間跟完Mosh Hamedani的Next.js課程,掌握了前端至後端的技術應用。本文分享了學習過程中的收穫與成果,以及對於未來應用的展望。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News