译文:使用 Next.js 从头构建一个基于 TypeScript 的 React 应用

使用 Next.js 从头构建一个基于 TypeScript 的 React 应用

React 和 TypeScript 是现代前端开发中最流行的技术之一,它们帮助开发人员提高了代码的可读性、可维护性和可扩展性。而 Next.js 是一个高度可配置的 React 框架,它提供了许多有用的功能,如服务器端渲染、静态文件生成和自动代码分割等。本文将介绍如何使用 Next.js 从头开始构建一个基于 TypeScript 的 React 应用。

安装 Next.js 和 TypeScript

首先,我们需要安装 Next.js 和 TypeScript。可以使用以下命令来安装它们:

--- ------- ------ ---- ----- ---------
--- ------- ---------- ---------- ------------ -----------

创建一个 Next.js 应用

接下来,我们将使用 Next.js 的命令行工具来创建一个新的应用程序。可以使用以下命令来创建一个名为 my-app 的新应用程序:

--- --------------- ------------ ------

这将创建一个新的 Next.js 应用程序,并自动配置 TypeScript。现在我们可以进入应用程序的目录并启动开发服务器:

-- ------
--- --- ---

这将启动开发服务器,并在浏览器中打开应用程序。现在你可以看到一个默认的 Next.js 页面。

添加页面

接下来,我们将添加一个新的页面。可以在 pages 目录下创建一个新的文件夹 about,并在其中创建一个新的 TypeScript 文件 index.tsx。在 index.tsx 文件中,添加以下代码:

----- ---------- -------- - -- -- -
  ------ -
    -----
      --------- ---------
      ------- -- --- ----- --------
    ------
  --
--

------ ------- ----------

现在我们可以在浏览器中访问 http://localhost:3000/about,并看到我们新添加的页面。

使用 CSS

接下来,我们将添加一些样式来美化我们的页面。可以在 styles 目录下创建一个新的 CSS 文件 global.css,并添加以下代码:

---- -
  ------- --
  -------- --
  ------------ -------------- ------------------- ----- --- ------- -------
    ------- ---------- ---- ----- ----- ----- --------- ----- -----------
-

- -
  ------ --------
  ---------------- -----
-

- -
  ----------- -----------
-

然后,在 pages/_app.tsx 文件中,添加以下代码:

------ -----------------------

-------- ------- ---------- --------- -- --------- -
  ------ ---------- -------------- ---
-

------ ------- ------

现在我们可以在我们的页面中使用这些样式。

使用 API 路由

接下来,我们将添加一个 API 路由。可以在 pages/api 目录下创建一个新的 TypeScript 文件 hello.ts,并添加以下代码:

------ ------- ----- --------------- ---- ---------------- -- -
  ---------------------- -------- ------ ------ ---
--

现在我们可以在浏览器中访问 http://localhost:3000/api/hello,并看到我们的 API 路由返回了一个 JSON。

使用 getStaticProps 和 getStaticPaths

接下来,我们将使用 Next.js 的 getStaticPropsgetStaticPaths 函数来生成静态页面。可以在 pages/posts 目录下创建一个新的 TypeScript 文件 index.tsx,并添加以下代码:

------ ---- ---- ------------

---- ---- - -
  --- -------
  ------ -------
--

---- ----- - -
  ------ -------
--

----- ---------- --------------- - -- ----- -- -- -
  ------ -
    -----
      --------------
      ----
        ----------------- -- -
          --- --------------
            ----- ---------------------------
              -------------------
            -------
          -----
        ---
      -----
    ------
  --
--

------ ------- ----------

------ ----- --------------- --------------------- - ----- -- -- -
  ----- --- - ----- ----------------------------------------------------
  ----- ----- - ----- -----------

  ------ -
    ------ -
      ------
    --
  --
--

这将生成一个静态页面,该页面从 https://jsonplaceholder.typicode.com/posts 获取数据,并在页面上显示这些数据。现在我们可以在浏览器中访问 http://localhost:3000/posts,并看到我们的静态页面。

使用动态路由

接下来,我们将使用 Next.js 的动态路由来创建一个带有参数的页面。可以在 pages/posts 目录下创建一个新的 TypeScript 文件 [id].tsx,并添加以下代码:

------ - --------- - ---- --------------

---- ----- - -
  ----- -
    ------ -------
    ----- -------
  --
--

----- --------- --------------- - -- ---- -- -- -
  ----- ------ - ------------

  -- ------------------- -
    ------ ----------------------
  -

  ------ -
    -----
      ---------------------
      ------------------
    ------
  --
--

------ ------- ---------

------ ----- --------------- -------------- - ----- -- -- -
  ----- --- - ----- ----------------------------------------------------
  ----- ----- - ----- -----------

  ----- ----- - ---------------- -- --
    ------- - --- ------------------ --
  ----

  ------ -
    ------
    --------- -----
  --
--

------ ----- --------------- --------------------- - ----- -- ------ -- -- -
  ----- --- - ----- ------
    ----------------------------------------------------------
  --
  ----- ---- - ----- -----------

  ------ -
    ------ -
      -----
    --
  --
--

这将创建一个动态路由,该路由从 https://jsonplaceholder.typicode.com/posts/:id 获取数据,并在页面上显示该数据。现在我们可以在浏览器中访问 http://localhost:3000/posts/1,并看到我们的动态页面。

结论

在本文中,我们介绍了如何使用 Next.js 从头开始构建一个基于 TypeScript 的 React 应用程序。我们学习了如何创建页面、使用 CSS、使用 API 路由、使用 getStaticProps 和 getStaticPaths、使用动态路由等。希望本文能够帮助你了解如何使用 Next.js 和 TypeScript 来构建现代前端应用程序。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673a4b90026c11b6ae288011