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
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
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 的安裝流程,一起來試試看吧
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News