从零开始入门 Next.js 的教程及实战项目推荐

什么是 Next.js ?

Next.js 是一个 React 同构应用框架,它基于 React 和 Node.js ,可用于构建高效、可扩展的 Web 应用程序。它使用了一些最新的技术,包括 Babel 7、Webpack、Hot Module Replacement (HMR)、Code Splitting 和服务端渲染等。

Next.js 允许我们使用 React 和熟悉的开发方式来创建快速、可扩展的 Web 应用程序。与其他前端框架相比,Next.js 的一个优点是它易于设置,并且能够快速实现服务端渲染和代码分块。

怎么使用 Next.js ?

1. 安装和初始化 Next.js

使用以下命令在本地安装 Next.js :

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

安装完成后,使用以下命令在项目根目录中创建一个新的 Next.js 应用程序:

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

其中的 my-app 可以替换为你想要的项目名称。

2. 创建第一个页面

Next.js 允许我们创建基于页面的应用程序,这意味着每个页面都是一个独立的 React 组件。在 Next.js 中创建一个页面非常简单,我们只需要在 ./pages 目录中创建一个 .js.tsx 文件。比如,我们创建一个简单的 index.js 页面:

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

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

在浏览器中访问 http://localhost:3000 就可以看到我们刚刚创建的页面了。

3. 服务端渲染

Next.js 的另一个优点是它支持服务端渲染,这意味着我们可以在服务器上渲染 React 组件,然后将渲染的 HTML 发送到浏览器。这可以帮助我们提高网站的性能和 SEO。

Next.js 默认情况下会在每个页面上进行服务端渲染,但也可以通过标记某些页面不进行服务端渲染。要让页面不进行服务端渲染,我们可以在页面组件中添加一个特殊的 getInitialProps 函数:

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

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

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

上面的代码中,getInitialProps 函数是一个异步函数,它可以在组件挂载之前获取数据并将其传递给组件。当用户访问该页面时,Next.js 将在服务器上执行 getInitialProps 函数并将其返回的数据作为属性传递给组件。

4. 导入 CSS 文件

在 Next.js 中导入 CSS 文件也很简单。我们可以使用一个名为 style-loader 的第三方包来实现这一点。

首先,使用以下命令安装 style-loader

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

然后,在页面组件中导入 CSS 文件:

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

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

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

在上面的代码中,我们使用 import 语句导入 CSS 文件,并通过 className 属性将样式应用于元素。

实战项目推荐

这里介绍一些优秀的 Next.js 实战项目,这些项目涵盖了 Next.js 的许多重要特性和最佳实践。

  1. GitHub Repo Search

这个项目使用了 Next.js 的服务端渲染功能,并让用户搜索 GitHub 仓库。它还具有代码分割、ESLint 和 Prettier 等功能。在该项目中,你可以学习到 Next.js 中的许多技术和最佳实践。

  1. NextShop

这个项目是一个在线商店,使用了 Next.js、React、Styled Components 和 Stripe 等技术。这是一个优秀的示例,可以帮助你学习如何构建真正的 Next.js 应用程序。

  1. Welcome-ui

Welcome-ui 是一个 UI 组件库,使用了 Next.js、React、Styled Components 和 TypeScript 等技术。这个项目的代码非常干净和易于理解,并可以帮助你深入了解 Next.js 的最佳实践。

结论

在本文中,我们介绍了 Next.js 的基本概念和使用方式。无论你是正在学习 React 还是想要使用服务端渲染来提高你的网站性能,Next.js 真的值得学习。

通过使用示例代码和实战项目,我们希望你可以更深入地了解 Next.js 和 React 。如果你有任何问题,请在下方留言。

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