首頁 > web前端 > js教程 > 主體

Next.js 簡介:建立您的第一個應用程式

Susan Sarandon
發布: 2024-10-18 22:44:30
原創
373 人瀏覽過

Next.js 是一種流行的 React 框架,使開發人員能夠創建快速的伺服器渲染應用程式。它提供了強大的開箱即用功能,例如靜態網站產生 (SSG)、伺服器端渲染 (SSR) 和 API 路由。在本指南中,我們將逐步介紹建立您的第一個 Next.js 應用程式的過程,重點關注關鍵概念和實際範例。

1. 設定您的 Next.js 項目

要開始使用 Next.js,您需要在電腦上安裝 Node.js。設定 Node.js 後,您可以使用以下命令建立新的 Next.js 應用程式:

npx create-next-app my-next-app
登入後複製
登入後複製

此命令建立一個名為 my-next-app 的新目錄,其中包含啟動 Next.js 應用程式所需的所有檔案和相依性。

2. 瀏覽項目結構

建立專案後,導覽至專案目錄:

cd my-next-app
登入後複製
登入後複製

在 my-next-app 目錄中,您會發現類似以下的結構:

my-next-app/
├── node_modules/
├── pages/
│   ├── api/
│   ├── _app.js
│   ├── index.js
├── public/
├── styles/
│   ├── Home.module.css
├── package.json
└── README.md
登入後複製
登入後複製

pages 目錄是您建立應用程式頁面的位置,而 public 用於靜態資源。

3. 建立您的首頁

Next.js 使用基於檔案的路由系統。要建立新頁面,只需在頁面目錄中新增新的 JavaScript 檔案即可。例如,建立一個名為 about.js 的檔案:

// pages/about.js
import Link from 'next/link';

export default function About() {
  return (
    <div>
      <h1>About Page</h1>
      <p>This is the about page of my first Next.js application!</p>
      <Link href="/">Go back home</Link>
    </div>
  );
}
登入後複製
登入後複製

在此範例中,我們建立了一個簡單的「關於」頁面,並使用「連結」元件導覽回主頁。

4. 修改首頁

開啟pages目錄下的index.js檔。該文件代表您的應用程式的主頁。您可以如下修改:

// pages/index.js
import Link from 'next/link';
import styles from '../styles/Home.module.css';

export default function Home() {
  return (
    <div className={styles.container}>
      <h1>Welcome to My Next.js App</h1>
      <p>
        This is my first application built with Next.js.{' '}
        <Link href="/about">Learn more about me</Link>
      </p>
    </div>
  );
}
登入後複製
登入後複製

在這裡,我們添加了一些簡單的樣式和「關於」頁面的連結。

5. 在您的應用程式中新增樣式

Next.js 支援開箱即用的 CSS 模組。若要設定組件的樣式,您可以在 styles 目錄中建立 CSS 模組。例如,建立一個名為 Home.module.css 的檔案:

/* styles/Home.module.css */
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-family: Arial, sans-serif;
}
登入後複製
登入後複製

接下來,將此 CSS 模組匯入到您的 index.js 頁面中,如上一節所示。

6. 使用 Next.js 取得數據

Next.js 可以輕鬆地使用 getStaticProps 進行靜態網站產生或使用 getServerSideProps 進行伺服器端渲染來取得資料。例如,要取得主頁上的數據,可以這樣修改index.js:

// pages/index.js
export async function getStaticProps() {
  const res = await fetch('https://jsonplaceholder.typicode.com/posts');
  const posts = await res.json();

  return {
    props: { posts },
  };
}

export default function Home({ posts }) {
  return (
    <div className={styles.container}>
      <h1>Welcome to My Next.js App</h1>
      <ul>
        {posts.map(post => (
          <li key={post.id}>{post.title}</li>
        ))}
      </ul>
    </div>
  );
}
登入後複製
登入後複製

在此程式碼中,我們從公開 API 取得貼文清單並將其顯示在主頁上。

7. 建立API路由

Next.js 讓您在pages/api 目錄中建立API 路由。這些路由可用於建立您的後端功能。例如,在pages/api目錄下建立一個名為hello.js的檔案:

// pages/api/hello.js
export default function handler(req, res) {
  res.status(200).json({ message: 'Hello from Next.js API!' });
}
登入後複製

您可以透過導覽至 http://localhost:3000/api/hello 來存取此 API 路由。

8. 部署您的 Next.js 應用程式

應用程式準備就緒後,您就可以輕鬆部署它。 Vercel 是推薦的 Next.js 應用程式託管平台。您可以按照以下步驟部署您的應用程式:

  1. 如果您沒有 Vercel 帳戶,請建立一個。

  2. 全域安裝 Vercel CLI:

    npx create-next-app my-next-app
    
    登入後複製
    登入後複製
  3. 在專案目錄中執行以下命令:

    cd my-next-app
    
    登入後複製
    登入後複製
  4. 按照提示部署您的應用程式。

9. 新增動態路由

Next.js 支援使用括號的動態路由。例如,如果你想要建立一個動態部落格文章頁面,你可以在pages/posts目錄下建立一個名為[id].js的檔案:

my-next-app/
├── node_modules/
├── pages/
│   ├── api/
│   ├── _app.js
│   ├── index.js
├── public/
├── styles/
│   ├── Home.module.css
├── package.json
└── README.md
登入後複製
登入後複製

您現在可以透過導航到 /posts/1、/posts/2 等來存取特定貼文。

10. 實施全域樣式

如果您想將全域樣式應用到您的應用程序,可以透過在頁面目錄中建立一個名為 _app.js 的檔案來實現:

// pages/about.js
import Link from 'next/link';

export default function About() {
  return (
    <div>
      <h1>About Page</h1>
      <p>This is the about page of my first Next.js application!</p>
      <Link href="/">Go back home</Link>
    </div>
  );
}
登入後複製
登入後複製

接下來,在 styles 目錄中建立一個 globals.css 檔案並新增全域樣式:

// pages/index.js
import Link from 'next/link';
import styles from '../styles/Home.module.css';

export default function Home() {
  return (
    <div className={styles.container}>
      <h1>Welcome to My Next.js App</h1>
      <p>
        This is my first application built with Next.js.{' '}
        <Link href="/about">Learn more about me</Link>
      </p>
    </div>
  );
}
登入後複製
登入後複製

11.使用環境變數

Next.js 支援環境變數來儲存敏感資訊。您可以在專案的根目錄中建立一個 .env.local 檔案並新增變數:

/* styles/Home.module.css */
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-family: Arial, sans-serif;
}
登入後複製
登入後複製

然後您可以使用 process.env 在應用程式中存取此變數:

// pages/index.js
export async function getStaticProps() {
  const res = await fetch('https://jsonplaceholder.typicode.com/posts');
  const posts = await res.json();

  return {
    props: { posts },
  };
}

export default function Home({ posts }) {
  return (
    <div className={styles.container}>
      <h1>Welcome to My Next.js App</h1>
      <ul>
        {posts.map(post => (
          <li key={post.id}>{post.title}</li>
        ))}
      </ul>
    </div>
  );
}
登入後複製
登入後複製

恭喜建立您的第一個 Next.js 應用程式!在整個旅程中,您學習如何設定專案、建立動態頁面、無縫取得資料、實現強大的路由以及輕鬆部署應用程式。

Next.js 不只是一個框架;它是一個框架。它是一個強大的工具,可以顯著增強您的 Web 開發體驗。其內建功能,如靜態網站生成 (SSG) 和伺服器端渲染 (SSR),使您能夠創建快速、用戶友好的應用程序,並針對效能和 SEO 進行了最佳化。

Next.js 之旅的後續步驟

現在您已經成功建立了您的第一個 Next.js 應用程序,是時候將您的技能提升到一個新的水平了。在即將發布的帖子系列中,我們將深入研究 Next.js 的一些更高級的功能,這些功能可以增強您的應用程式並簡化您的開發流程。

中間件是一項強大的功能,可讓您在請求完成之前透過新增自訂邏輯來擴充應用程式的功能。這意味著您可以操縱請求和回應物件、對使用者進行身份驗證,甚至無縫管理重新導向。

接下來,我們將探索靜態網站產生(SSG)。該技術在建立時預先渲染頁面,從而實現快速加載並提高 SEO 效能。透過了解如何利用 SSG,您可以建立不僅動態而且高效的應用程式。

最後,我們將介紹API 路由,該功能可讓您直接在 Next.js 應用程式中建立無伺服器函數。這意味著您無需單獨的伺服器即可處​​理請求和回應,從而更輕鬆地以更少的開銷開發全端應用程式。

跟隨我,我們踏上了探索 Next.js 高級功能的激動人心的旅程。有了這些工具,您將能夠建立真正脫穎而出的強大、高效能的應用程式。請繼續關注我們的下一篇文章!

您也可以在以下位置閱讀這篇文章:

Introduction to Next.js: Building Your First Application

Next.js 簡介:建立您的第一個應用程式

Next.js 是一種流行的 React 框架,使開發人員能夠創建快速的伺服器渲染應用程式。它提供了開箱即用的強大功能!

Introduction to Next.js: Building Your First Application salmaniyad.hashnode.dev

找到我:

Introduction to Next.js: Building Your First Application

薩爾曼·伊亞德 · GitHub

電腦系統工程師|網路開發人員。 SalmanIyad 有 31 個可用的儲存庫。在 GitHub 上關注他們的程式碼。

Introduction to Next.js: Building Your First Application github.com

以上是Next.js 簡介:建立您的第一個應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板