使用 JavaScript 框架进行服务器端渲染 (SSR)


在当今快节奏的 Web 开发环境中,交付高性能且对搜索引擎友好的网站至关重要。实现此目标的一种有效方法是通过服务器端渲染 (SSR)。在本文中,我们将探讨如何使用 JavaScript 框架实现 SSR,以及代码示例、解释和输出,以帮助您在项目中充分利用 SSR 的潜力。

了解服务器端渲染

服务器端渲染涉及在服务器上生成 HTML 内容并将其发送到客户端,客户端会立即显示该内容。这种方法与客户端渲染 (CSR) 相反,在 CSR 中,浏览器从服务器检索最少的 HTML,然后使用客户端上的 JavaScript 渲染内容。

服务器端渲染的优势

  • 性能提升  SSR 最大限度地减少了首次有意义绘制的时间,因为服务器会将预渲染的 HTML 发送到客户端。这导致页面加载时间更快,并提供更好的用户体验。

  • 搜索引擎优化  搜索引擎可以轻松抓取和索引服务器端渲染的页面,从而提高搜索引擎排名和可发现性。

  • 社交媒体分享  服务器端渲染的页面为社交媒体平台提供丰富的內容,确保共享链接显示准确的预览并有效地吸引用户。

使用 JavaScript 框架实现服务器端渲染

让我们深入了解使用流行的 JavaScript 框架实现 SSR 的实践。

使用 Next.js 的 React.js

使用 Create React App 创建一个新的 React 项目。打开您的终端并运行以下命令:

npx create-react-app my-ssr-app

这将在名为 my-ssr-app 的新目录中创建一个具有基本 React 项目结构的项目。

切换到项目目录:

cd my-ssr-app

安装 Next.js 作为依赖项:

npm install next react react-dom

示例

将 src/index.js 文件的内容替换为以下代码:

import React from 'react';

const Home = () => {
   return (
      <div>
         <h1>Welcome to SSR with React and Next.js!</h1>
      </div>
   );
};

export default Home;

在项目的 src 目录下创建一个名为 pages 的新目录:

mkdir src/pages

将 src/index.js 文件移动到 src/pages 目录:

mv src/index.js src/pages/index.js

打开 package.json 文件,并将现有的“scripts”部分替换为以下代码:

"scripts": {
   "dev": "next dev"
},

保存更改,然后在终端中运行以下命令以启动开发服务器:

npm run dev

打开浏览器并导航到 https://127.0.0.1:3000。

输出

使用 Nuxt.js 的 Vue.js

与 React 类似,Vue.js 还提供了一个名为 Nuxt.js 的强大的 SSR 框架。

通过打开您的终端并运行以下命令来创建一个新的 Nuxt.js 项目:

npx create-nuxt-app my-ssr-app

这将在名为 my-ssr-app 的新目录中创建一个具有基本 Nuxt.js 项目结构的项目。

切换到项目目录:

cd my-ssr-app

示例

打开 pages/index.vue 文件,并将现有内容替换为以下代码:

<template>
   <div>
      <h1>Welcome to SSR with Vue and Nuxt.js!</h1>
   </div>
</template>

<script>
export default {
   name: 'Home',
};
</script>

保存更改,开发服务器将自动重新加载更新后的内容。

通过运行以下命令启动开发服务器:

npm run dev

在 https://127.0.0.1:3000 处刷新您的浏览器。

输出

Angular 与 Angular Universal

Angular 是一种全面的 JavaScript 框架,它提供 Angular Universal 来启用服务器端渲染。

首先,使用 npm 安装 Angular Universal:

npm install --save @nguniversal/express-engine

示例

接下来,创建一个新文件 src/app/home.component.ts,并添加以下代码:

import { Component } from '@angular/core';

@Component({
   selector: 'app-home',
   template: `
      <div>
         <h1>Welcome to SSR with Angular and Angular Universal!</h1>
      </div>
  `,
})
export class HomeComponent {}

使用以下代码更新 src/app/app.module.ts 文件:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { HomeComponent } from './home.component';

@NgModule({
   imports: [BrowserModule],
   declarations: [AppComponent, HomeComponent],
   bootstrap: [AppComponent],
})
export class AppModule {}

最后,运行以下命令以启动开发服务器:

npm run dev:ssr

在浏览器中导航到 https://127.0.0.1:4000,您将看到服务器端渲染的输出。

输出

结论

服务器端渲染在性能、SEO 和社交媒体分享方面提供了显著的优势。像 React.js 与 Next.js、Vue.js 与 Nuxt.js 以及 Angular 与 Angular Universal 这样的 JavaScript 框架提供了强大的 SSR 解决方案。

通过利用 SSR 的强大功能,开发人员可以增强用户体验、提高搜索引擎可见性并交付高度优化的网站。通过本文提供的代码示例和解释,您现在拥有了使用 JavaScript 框架在项目中实现 SSR 的坚实基础。立即开始探索 SSR,并释放 Web 应用程序的全部潜力。

更新于: 2023年7月25日

472 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告