更新時(shí)間:2021-08-20 來源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
服務(wù)端渲染的實(shí)現(xiàn),通常有3種方式,第1種是手動進(jìn)行項(xiàng)目的簡單搭建,第2種是使用vue CLI 3腳手架進(jìn)行搭建,第3種利用一些成熟框架來搭建(如Nuxt,js),本節(jié)講解第1種和第2種方式,帶領(lǐng)讀者實(shí)現(xiàn)簡單的服務(wù)器端渲染。
1.創(chuàng)建 vue-ssr項(xiàng)目
在C:\vue\chapter08目錄中,使用命令行工具創(chuàng)建一個(gè)vue-ssr項(xiàng)目,具體命令如下:
mkdir vue-ssr cd vue-ssr npm init -y
執(zhí)行上述命令后,會在vue-ssr 目錄下生成一個(gè)package.json文件。
在Vue中使用服務(wù)器端渲染,需要借助Vue的擴(kuò)展模塊vue-server-renderer。下面我們在vue-ssr項(xiàng)目中使用npm來安裝vue-server-renderer,具體命令如下:
npm install vue@2.6.x vue-server-renderer@2.6.X --save
vue-server-renderer是Vue中處理服務(wù)器加載的一個(gè)模塊,給Vue提供在Node.js服務(wù)器端渲染的功能。vue-server-renderer依賴-些Node.js原生模塊,所以目前只能在Node.js中使用。
2.Vue渲染
將vue-server-renderer安裝完成后,創(chuàng)建服務(wù)器腳本文件test.js,實(shí)現(xiàn)將Vue實(shí)例的渲染結(jié)果輸出到控制臺中,具體代碼如下:
//①創(chuàng)建一個(gè)Vue實(shí)例
const Vue = require('vue')
const app = new Vue({
template: '<div>SSR 的簡單使用</div>'
//② 創(chuàng)建一個(gè)renderer實(shí)例
const renderer = require ('vue-server-renderer').createRendere()
//③將Vue實(shí)例渲染為HTML
renderer.renderToString(app, (err, html) => {
if (err) {
throw err
}
console.log(html)
})在命令行中執(zhí)行node test.js,運(yùn)行結(jié)果如下所示:
<div data-server-rendered="true">SSR的簡單使用</div>
從上述結(jié)果可以看出,在<div>標(biāo)簽中添加了一個(gè)特殊的屬性data-server-rendered,該屬性是告訴客戶端的Vue這個(gè)標(biāo)簽是由服務(wù)器渲染的。
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19