从vue项目简单了解什么是SSR

从vue项目简单了解什么是SSR

SSR

vue是单页应用,创建的项目不利于SEO爬虫,因为SEO爬虫是爬网页的源代码,而vue创建的项目是通过js的解析来生成的页面。SSR就是通过在服务器端将vue生成的页面数据渲染完成后,形成完整的html页面以后再传给浏览器,此时SEO就可以爬虫其中的内容,同时也减少了浏览器向服务器发起的请求数。

从0到1开始

初始化项目

npm init

server.js

npm i express vue

根目录下创建服务器文件 server.js

// server.js
const { createApp } = require('vue') // Vue3
const { renderToString } = require('@vue/server-renderer')
const server = require('express')()

server.get('/', (req, res) => {
  // 跟请求发起时创立 vue 实例并返回 html 页面
  const app = createApp({
    data() {
      return {
        title: 'Vue + Nuxt'
      }
    },
    template: `<div>Hello {{title}} !</div>`
  })

  renderToString(app).then(html => {
    res.send(html)
  })
})

server.listen(3000, () => {
  console.log('项目运行在 '+ 'http://localhost:3000')
})

修改命令语句

// package.json
"dev": "nodemon ./server.js"

需要全局安装 nodemonnpm i -g nodemon,作用其实就是相当于 node ,只是不需要在修改了内容以后重新启动服务生效

浏览器运行 http://localhost:3000

在这里插入图片描述
查看网页源代码,发现内容缺少了基本结构。

// server.js
...
renderToString(app).then(html => {
  res.send(
    `<!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>
      ${html}
    </body>
    </html>`
  )
})
...

此时再查看网页源代码

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值