1、安装
npm install vue vue-server-renderer --save
2、引入
const Vue = require('vue')
3、创建实例
const app = new Vue({
data:{参数键值对}
template: `反引号内书写html内容,用法和正常使用vue一样`,
methods:{...},
生命周期(){...}
})
4、将 Vue 实例渲染为 HTML,如果没有传入回调函数,则会返回 Promise:
renderer.renderToString(app).then(html => {
console.log(html)
}).catch(err => {
console.error(err)
})
5、通过服务器返回
app.get('/',(req,res)=>{
进行3步,
renderer.renderToString(app).then(err, html) => {
if (err) {
res.status(500).end('Internal Server Error')
return
}
res.writeHead(200,{"Content-Type":'text/html,charset=utf8'})
res.end(`
<!DOCTYPE html>
<html lang="en">
<head><title>Hello</title></head>
html参数即为Vue实例中的模板
<body>${html}</body>
</html>
`)
})
6、通过导入html文件渲染
const renderer = require('vue-server-renderer').createRenderer({
template: require('fs').readFileSync('./x.html', 'utf-8')
})
renderer.renderToString(app, (err, html) => {
...
})
给html文件传入参数
const context = {参数键值对}
renderer.renderToString(app, context, (err, html) => {
...
})
html文件使用参数
{{键名}} 解析html标签
{{{键名}}} 三花括号不解析html标签
08-11
07-15
2399
04-24
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交