首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ssr搭建教程

服务器端渲染(Server-Side Rendering,简称 SSR)是一种在服务器端完成页面渲染的技术,适用于需要快速加载页面内容、提升 SEO 效果的应用场景。以下是一个基本的 SSR 搭建教程,以使用 Node.js 和 Express.js 为例:

SSR 搭建教程

准备工作

  • 初始化一个新的 Node.js 项目:npm init -y
  • 安装必要的依赖:npm install express vue vue-server-renderer

创建 Express 服务器并集成 SSR

  1. 创建服务器文件:创建一个名为 server.js 的文件,并写入以下代码:
代码语言:txt
复制
const express = require('express');
const { createRenderer } = require('vue-server-renderer');
const fs = require('fs');
const path = require('path');
const Vue = require('vue');

const app = express();
const renderer = createRenderer();

app.get('*', async (req, res) => {
  // 读取 Vue 组件文件
  const template = fs.readFileSync(path.join(__dirname, './public/index.html'), 'utf8');
  // 创建 Vue 实例
  const app = new Vue({ template });
  // 渲染 Vue 实例为 HTML 字符串
  const html = await renderer.renderToString(app);
  // 发送完整的 HTML 页面给客户端
  res.send(`
    <!DOCTYPE html>
    <html>
      <head>
        <title>My SSR Page</title>
      </head>
      <body>
        <div id="app">${html}</div>
        <script src="/bundle.js"></script>
      </body>
    </html>
  `);
});

app.listen(3000, () => console.log('Server running on port 3000'));
  1. 创建 Vue 应用组件:在项目根目录下创建一个 App.vue 文件,内容如下:
代码语言:txt
复制
<template>
  <div>
    <h1>Hello, SSR!</h1>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>
  1. 创建 HTML 页面模板:在项目根目录下创建一个 public/index.html 文件,内容如下:
代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>{{ title }}</title>
</head>
<body>
  <div id="app"></div>
</body>
</html>
  1. 构建 Vue 应用:运行 npm run build 命令,构建 Vue 应用的静态文件。
  2. 运行服务器:在终端中运行 node server.js,启动服务器。

通过以上步骤,你可以成功搭建一个简单的 SSR 服务器。访问 http://localhost:3000,你将看到服务器渲染的页面内容。

SSR 的优势在于能够提供更好的 SEO 效果和更快的首屏加载速度,但同时也存在服务器负载较大、开发调试相对复杂等挑战

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Vue SSR

开始看正文吧~ 一、什么是SSR(服务端渲染)? vue.js是构建客户端应用程序的框架,在默认情况下,在浏览器输出Vue组件,进行生成DOM和操作DOM。...Vue SSR 就是实现将组件渲染为服务器端的HTML字符串,将他们直接发送给浏览器,最后将这些静态标记“激活”为客户端可应用的应用程序。 二、为什么使用SSR 1....更快的内容到达时间(time-to-content) 之前我们用vue-cli搭建的单页面(SPA)的应用,在我们第一次请求时,服务端返回我们的是一个HTML,外链式的引入了js和css。...SRR 因为是同步返回整个页面的HTML字符串,是包含程序重要信息的完成页面,so,SSR相比于SPA应用来说能够有利于网站的SEO。...Vue SSR的整个项目真的是够复杂,SO,推荐各位宝宝使用Nuxt.js。。

4.1K10
  • Angular SSR 探究

    Angular 的 SSR 有一些编译和构建时的设置,甚至需要一些代码的改动。下面看看我们是怎么做的吧!...为项目增加 SSRAngular CLI 可以帮助我们非常便捷的将一个普通的 Angular 项目转变为一个带有 SSR 的项目。...所需要的依赖和运行脚本angular.json - 添加开发、构建 SSR 应用所需要的配置在 package.json 中,会自动添加一些 npm 脚本:dev:ssr 用于在开发环境运行 SSR...版本;serve:ssr 用于直接运行 build 或 prerender 后的网页;build:ssr 构建 SSR 版本的网页;prerender 构建预渲染后的网页,与 build 不同,这里会根据提供的...针对页面数量较少、又有 SEO 需求的网站或系统,则可以考虑使用 Universal 和 SSR 技术。

    10.3K51

    SSR 技术概述

    SSR 有两种模式,单页面和非单页面模式,第一种是后端首次渲染的单页面应用,第二种是完全使用后端路由的后端模版渲染模式。他们区别在于使用后端路由的程度。...SSR 的优缺点 那么,SSR 技术到底有哪些优点呢?...以上是 SSR 技术最主要的两大优点,虽有优势,但缺点也不容忽视: 相对于仅仅需要提供静态文件的服务器,SSR中使用的渲染程序自然会占用更多的CPU和内存资源。...总结 以上就是对 SSR 技术的一些简要介绍,总结一下就是: SSR 提高 SPA 应用的首屏响应速度,有利于 SEO 优化。 SSR 最适用于静态展示页面,如果页面动态数据较多时需要谨慎使用。...是否使用 SSR、使用到什么程度都需要开发者仔细权衡。 ~ ~本文完,感谢阅读! ~ 学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

    3.9K10

    vue-ssr

    什么是服务器端渲染 (SSR)? 所谓的服务端渲染其实并不是上面新奇的东西,顾名思义,就是页面的生成是在服务端完成的。...单页应用的好处多多,能够实现前端页面平滑无刷新切换,能够实现虚拟DOM快速响应用户交互等等 但是,其缺点也有,那就是首次渲染页面相对 ssr 会慢一些,而且,因为其是在前端通过js绘制的页面,这就导致了它对搜索引擎抓取网站内容造成了一些阻碍...为什么使用服务器端渲染 (SSR)? 所以,我们为什么要使用服务端渲染呢?...而服务端渲染 SSR 就是为了解决这几个问题的。 这里说的 SSR 相对于传统的 SSR 的优势就在于能够在使用最新技术(vue、react等)的同时做到SSR。...服务端渲染脚手架 这个是本人自己整理的 vue+koa+webpack4的服务端渲染脚手架 https://github.com/zhoushirong/vue-koa-ssr.git

    3.5K20

    Vue SSR入门实战

    如果对 Vue SSR 完全不了解,请先阅读官方文档。 思路 Vue 提供了一个官方 Demo,该 Demo 优点是功能大而全,缺点是对新手不友好,容易让人看蒙。...但是有例外,比如我的这个老项目,就只有一个页面(一个页面中包含很多的组件),所以根本不需要用到 vue-router,也照样能做 SSR。...人们都说 SSR 能提升首屏渲染速度,下面我们真实对比一下,看看到底是不是真的。(同样在 Fast 3G 网络条件下)。 ? ?...总结 Vue SSR 确实是个有趣的东西,关键在于灵活运用。此 Demo 还有一个遗留问题没有解决:当把 Ajax 抽象到 prefetchData,做成 SSR 之后,原先的前端渲染就失效了。...参考资料 从零开始搭建vue-ssr系列之一:写在前面的话, By 会说话的鱼 vue SSR 服务端渲染记录, By echo_numb Vue SSR 官方文档实践·一:从零到粗暴混合前后端, By

    3K50

    React SSR 源码剖析

    写在前面 上篇React SSR 之 API 篇细致介绍了 React SSR 相关 API 的作用,本篇将深入源码,围绕以下 3 个问题,弄清楚其实现原理: React 组件是怎么变成 HTML 字符串的...React.Component { constructor() { super(); this.state = { title: 'Welcome to React SSR...ReactDOMServer.renderToString()处理后输出 HTML 字符串: 'Welcome to React SSR...[0]; } finally { /*...*/ } } 这种细粒度的任务调度让流式边拼接边发送成为了可能,与React Fiber 调度机制异曲同工,同样是小段任务,Fiber 调度基于时间,SSR...instance.componentDidMount(); 所以,单从客户端渲染性能上来看,hydrate与render的实际工作量相当,只是省去了创建 DOM 节点、设置初始属性值等工作 至此,React SSR

    2.7K10

    OneManager搭建教程

    这位大佬开发的OneManager 具体的项目地址 https://github.com/qkqpttgf/OneManager-php 这个项目可以在 heroku ----- heroku搭建的首次启动较慢...vps ----- vps需要自己购买 腾讯scf ·------ scf调用需要收费 等其他容器上搭建 开始搭建 我主要介绍在vps上搭建的方法 因为我觉得其他两种方法不是很稳妥...1.首先你得有一个github账号 然后去上方的项目地址下载源码 github 2.如果你有vps 那么最好去安装一个宝塔面板 当然老手直接搭建就行了 宝塔安装就不介绍了 宝塔地址 3.这个时候你应该有...按照图片进行设置 点击接受授权 自动完成 然后你就可以 畅快享用了 demo https://drive.blankmiss.club/one/ 该程序可以添加很多个onedrive 可以配合heroku搭建离线下载程序...离线下载文件到onedrive里面 此次教程到此完毕

    6.7K41

    SSR React同构渲染改造

    经过前端的一段时间发展,出现了Node语言,理论上来说Web侧可以维护SSR和CSR(Client Side Rendering,客户端渲染),但是由于SSR和CSR实现起来完全不同,需要一个页面维护两套代码...注:随着智能手机的兴起,或许SEO也没有想象中的那么重要,不过了解SSR也是对Web侧学习非常重要的一个环节。 看不懂? 文字太抽象了,来看一下具体什么样的才是SSR。...在SSR首次请求之后,React打包出来的js将会完全接管后续的交互逻辑以及网络请求,这里就是同构渲染的奇妙之处,既有SSR优化搜索引擎的好处,又有现代Web框架的性能,维护起来也相当方便。...同构渲染还有一个好处就是,在Node服务处理SSR渲染失败时可以直接切换到CSR渲染模式,即提前生成好的静态文件直接返回,十分健壮。 SSR要怎么做呢?...css-loader与style-loader 处理LESS:less-loade与less 提取css代码到css文件中: extract-text-webpack-plugin 开发环境下的服务器搭建

    54110
    领券