主要参考官方文档:
https://ssr.vuejs.org/zh/
安装:
npm install vue vue-server-renderer --save
应用场景:
Node某一路由返回的页面利用vue component和服务端数据进行服务端的页面渲染,(没有进行服务端渲染的原因是数据来源为服务端,其他模板引擎使用res.render()方法实现相同服务端渲染功能)
建议代码结构:MVC中的Controller层,一个页面对应一个controller
关键代码:
homepage.js:
const Vue = require('vue');
const fs = require('fs');
const path = require('path');
const renderer = require('vue-server-renderer').createRenderer({
template: fs.readFileSync(path.join(__dirname,'../','views','home.html'), 'utf-8')
}); //定义返回的html文件的地址
exports.postLoginToHome = function (req,res,next) {
const username = req.body.username;
const subComponent = {
template: `<span>Hi</span>`
} //子组件定义
const homeComponent = new Vue({ //定义根组件 注意:这里不用el定位,而是<!--vue-ss