美文网首页
如何使用Vue.js进行服务器端渲染(SSR)?

如何使用Vue.js进行服务器端渲染(SSR)?

作者: 魂斗驴 | 来源:发表于2021-05-01 09:41 被阅读0次

首先,文章的目的;我们为什么需要SSR方法,为什么在何处使用SSR,SSR和CSR有何区别?我们将通过示例巩固我们对这些知识的了解。

什么是客户端渲染(CSR)?

在客户端渲染中,我们的服务器将简单的纯HTML页面返回到浏览器。然后,由我们的服务器返回的html页面在用户浏览器中使用javascript进行编译,并获得有意义的html输出。最终的html输出由浏览器编译并呈现给用户。

什么是服务器端渲染(SSR)?

用这种方法,JavaScript是在服务器而不是浏览器上编译的。因此,直接且有意义的html直接在浏览器中进行

我应该何时考虑使用SSR?

这有两个主要原因; 更好的SEO和更快的发布时间。

执行SSR使我们对SEO更加坚强。因为Google Spiders(或其他爬虫)可以理解简单而有意义的html输出。

另外,如果我们使用ssr,则我们的网站打开速度更快。因为我们在服务器端进行编译,所以我们构建了一个更加用户友好的网站。

权衡取舍

  • SSR需要可以运行Node.js服务器的环境。
  • 由于编译过程是由服务器端进行的,因此您的成本将略有增加。
  • 在某些情况下,您将必须实施解决方法。

我们来到了真正的问题:)

如何使用Vue.js进行服务器端渲染(SSR)?

有很多方法可以做到这一点。在本文中,我将告诉您其中两个。使用Nuxt.js和Express

使用Express的服务器端渲染(SSR)?

我们使用vue-server-renderer软件包。这对于vue.js文档是必需的。在终端上运行此命令进行设置

npm install vue vue-server-renderer express — save

此程序包中的渲染器功能对我们很重要。Vue实例正在使用渲染器功能在服务器端进行编译。

让我们创建一个index.js文件并导入必要的库;

const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer()

现在,我们在express中创建vue实例。

server.get('*', (req, res) => {
  const app = new Vue({
     data: {},
     template: ``
  })
})
server.listen(8000)

Vue样本已在Express服务器中准备好。我们的SSR样本现已准备就绪,让我们进行样本研究。

server.get('*', (req, res) => {
 const app = new Vue({
    data: {
    array: [ 'vue', 'java', 'python', 'javascript'],
  },
    template: `<div v-for="(a, index) in array" 
                    v-bind:key="index">{{ a }}</div>`
})
renderer.renderToString(app, (err, html) => {
      res.end(`
          <!DOCTYPE html>
          <html lang="en">
            <head><title>Vue Js – SSR SAMPLE</title></head>
            <body>${html}</body>
          </html>
      `)
    })
})
server.listen(8000)

现在,我们将端口设置为8000,让我们在节点上运行index.js文件。

使用Nuxt进行服务器端渲染(SSR)?

Nuxt是一个基于Vue.js的渐进框架,用于创建现代Web应用程序。将nuxt框架附加到Vue栖息地后,需要具有一些设置的,完全兼容ssr的Web应用程序。

该架构显示了在调用服务器或用户通过<nuxt-link>浏览应用程序时Nuxt.js所调用的内容:

该框架中使用的文件结构与next.js相同


页面下的每个vue文件显示一个单独的路由。现在可以使用新设置来静态生成文件。(Nuxt v2.13)通过这种方式,您可以开发完全与seo兼容的Web应用程序。这是您将在nuxt.config.js下添加的设置

就这么简单:)

结论

现在,您可以通过本文J获得有关vue和ssr的新信息

客户端:运行webpack-dev-server,监视Vue组件和js代码的更改,并生成带有清单资源到dev-server的客户端清单,将其保存到磁盘并实时更新浏览器中的代码和样式。

服务器端:它以观察者身份运行webpack,构建服务器捆绑包并重新启动应用程序,然后进行了更改。(在我们提到的两种方法中)

参考

How to Server Side Rendering (SSR) with Vue.js?

相关文章

  • Vue 服务端渲染

    什么是服务器端渲染 (SSR)? Vue.js 是构建客户端应用程序的框架。但是可以将组件在服务器端渲染为 HTM...

  • 如何使用Vue.js进行服务器端渲染(SSR)?

    首先,文章的目的;我们为什么需要SSR方法,为什么在何处使用SSR,SSR和CSR有何区别?我们将通过示例巩固我们...

  • ssr文档学习

    Vue SSR 服务器端渲染 Vue.js 可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏...

  • Vue学习笔记(四)

    服务端渲染 什么是服务器端渲染 (SSR)? Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中...

  • SSR服务端渲染

    什么是SSR?,SSR有什么用? 服务端渲染(Server Side Render,简称“SSR”),服务器端直接...

  • 关于 SAP 电商云 Spartacus UI Transfer

    Angular 的 TransferState 类使服务器端渲染 (SSR) 和预渲染 (Prerendered-...

  • 服务端渲染

    服务器端渲染(SSR) 学前准备 ES6 Node Vue 什么是服务器端渲染 前端渲染:html页面作为静态文件...

  • vue服务端渲染添加缓存的方法

    什么是服务器端渲染(SSR)? Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue ...

  • 服务器端渲染SSR

    为什么使用服务器端渲染 (SSR)?与传统 SPA (单页应用程序 (Single-Page Applicatio...

  • SSR实践

    为什么使用服务器端渲染 (SSR)?与传统 SPA (单页应用程序 (Single-Page Applicatio...

网友评论

      本文标题:如何使用Vue.js进行服务器端渲染(SSR)?

      本文链接:https://www.haomeiwen.com/subject/fxqvlltx.html