1 Star 1 Fork 1

wq599263163/vue-ssr

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
render.js 1.11 KB
一键复制 编辑 原始数据 按行查看 历史
huangwenquan 提交于 2018-09-12 01:15 . 修改基于Promise 完成
const fs = require('fs')
const path = require('path')
const { createBundleRenderer } = require('vue-server-renderer')
const LRU = require('lru-cache')
const resolve = file => path.resolve(__dirname, file)
const template = fs.readFileSync(resolve('./src/index.template.html'), 'utf-8')
const serverBundle = require('./dist/vue-ssr-server-bundle.json')
const clientManifest = require('./dist/vue-ssr-client-manifest.json')
const renderer = () => {
// 参考文档
// https://ssr.vuejs.org/zh/api/#template
return createBundleRenderer(
serverBundle,
Object.assign({clientManifest}, {
template,
cache: LRU({
max: 1000,
maxAge: 1000 * 60 * 15
}),
basedir: resolve('./dist'),
runInNewContext: false
})
)
}
const render = ({url, title = ''}) => {
return new Promise (function (resolve, reject) {
const context = {
title,
url,
}
renderer().renderToString(context, (err, html) => {
resolve(html)
})
})
}
module.exports = render
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sheyude2672/vue-ssr.git
git@gitee.com:sheyude2672/vue-ssr.git
sheyude2672
vue-ssr
vue-ssr
master

搜索帮助