ssr和vue的區別是:ssr是在伺服器將元件渲染成HTML字串後返回,而vue是在使用者端傳送請求後,伺服器返回空的HTML、css、js等,元件在使用者端進行渲染。
本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。
ssr
是vue
的伺服器端渲染技術,nuxt
是一個可以用來做ssr
伺服器端渲染開發的框架.ssr
是技術基礎,nuxt
是封裝
Vue.js
是構建使用者端應用程式的框架。預設情況下,可以在瀏覽器中輸出 Vue
元件,進行生成 DOM
和操作 DOM
。全部的操作都是在使用者端執行. 在這種情況下, 生命週期 mounted
之前 ,看不到任何東西的, 或者如果我們的使用者端瑞瀏覽器,禁用了js
功能的話, 就會一片空白
然而,vuejs
也可以將同一個vue
元件在伺服器端直接就渲染為 HTML
字串,將它們直接傳送到瀏覽器,最後將這些靜態標記"啟用"為使用者端上完全可互動的應用程式
普通vue
是使用者端傳送請求後,伺服器返回空的HTML,css,js
等,在使用者端進行渲染ssr
是在伺服器渲染成字串後返回
npm init
npm install vue vue-server-renderer --save
// 第 1 步:建立一個 Vue 範例 const Vue = require('vue') const app = new Vue({ template: `<div>Hello World</div>` }) // 第 2 步:建立一個 renderer const renderer = require('vue-server-renderer').createRenderer() // 第 3 步:將 Vue 範例渲染為 HTML renderer.renderToString(app, (err, html) => { if (err) throw err console.log(html) // => <div data-server-rendered="true">Hello World</div> }) // 在 2.5.0+,如果沒有傳入回撥函數,則會返回 Promise: renderer.renderToString(app).then(html => { console.log(html) }).catch(err => { console.error(err) })
node 檔名
,顯示<p>Hello World</p>
npm install express --save
// 第 1 步:建立一個 Vue 範例 const Vue = require('vue') const express = require('express')//建立伺服器 const app = new Vue({ template: `<div>Hello World</div>` }) const server = express() // 第 2 步:建立一個 renderer const renderer = require('vue-server-renderer').createRenderer() // 在 2.5.0+,如果沒有傳入回撥函數,則會返回 Promise: renderer.renderToString(app).then(html => { console.log(html) }).catch(err => { console.error(err) }) server.get("*", (req, res) => { // 第 3 步:將 Vue 範例渲染為 HTML renderer.renderToString(app, (err, html) => { if (err) throw err console.log(html) res.send(html) // => <div data-server-rendered="true">Hello World</div> }) }) //開啟伺服器,監聽埠等待瀏覽器存取 server.listen(8080, (err) => { console.log("ok"); })
輸入127.0.0.1:8080
與傳統 SPA (單頁應用程式 (Single-Page Application)) 相比,伺服器端渲染 (SSR) 的優勢主要在於:
【相關推薦:《》】
以上就是ssr和vue的區別是什麼的詳細內容,更多請關注TW511.COM其它相關文章!