更新时间:2021-08-20 来源:黑马程序员 浏览量:
服务端渲染的实现,通常有3种方式,第1种是手动进行项目的简单搭建,第2种是使用vue CLI 3脚手架进行搭建,第3种利用一些成熟框架来搭建(如Nuxt,js),本节讲解第1种和第2种方式,带领读者实现简单的服务器端渲染。
1.创建 vue-ssr项目
在C:\vue\chapter08目录中,使用命令行工具创建一个vue-ssr项目,具体命令如下:
mkdir vue-ssr cd vue-ssr npm init -y
执行上述命令后,会在vue-ssr 目录下生成一个package.json文件。
在Vue中使用服务器端渲染,需要借助Vue的扩展模块vue-server-renderer。下面我们在vue-ssr项目中使用npm来安装vue-server-renderer,具体命令如下:
npm install vue@2.6.x vue-server-renderer@2.6.X --save
vue-server-renderer是Vue中处理服务器加载的一个模块,给Vue提供在Node.js服务器端渲染的功能。vue-server-renderer依赖-些Node.js原生模块,所以目前只能在Node.js中使用。
2.Vue渲染
将vue-server-renderer安装完成后,创建服务器脚本文件test.js,实现将Vue实例的渲染结果输出到控制台中,具体代码如下:
//①创建一个Vue实例 const Vue = require('vue') const app = new Vue({ template: '<div>SSR 的简单使用</div>' //② 创建一个renderer实例 const renderer = require ('vue-server-renderer').createRendere() //③将Vue实例渲染为HTML renderer.renderToString(app, (err, html) => { if (err) { throw err } console.log(html) })
在命令行中执行node test.js,运行结果如下所示:
<div data-server-rendered="true">SSR的简单使用</div>
从上述结果可以看出,在<div>标签中添加了一个特殊的属性data-server-rendered,该属性是告诉客户端的Vue这个标签是由服务器渲染的。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19