// server.js (Node.js server with Vue SSR)
const express = require('express');
const serverBundle = require('./dist/vue-ssr-server-bundle.json');
const clientManifest = require('./dist/vue-ssr-client-manifest.json');
const { createBundleRenderer } = require('vue-server-renderer');
const app = express();
const renderer = createBundleRenderer(serverBundle, {
runInNewContext: false,
template: require('fs').readFileSync('./public/index.temp.html', 'utf-8'),
clientManifest
});
app.get('*', (req, res) => {
const context = { url: req.url };
renderer.renderToString(context, (err, html) => {
if (err) {
res.status(500).end('Internal Server Error');
return;
}
res.end(html);
});
});
app.listen(8080, () => {
console.log('Server is running at http://localhost:8080');
});
express 和 vue-server-renderer 等必要的模块。createBundleRenderer 创建一个渲染器,它会读取服务器端的打包文件(serverBundle)和客户端的清单文件(clientManifest)。这个示例展示了如何使用 Vue SSR 在 Node.js 环境中进行服务端渲染。
上一篇:vue 字符串转数字
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站