mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-25 02:57:31 +00:00
Add server-side rendering (via bundleRenderer, as this is what the Vue docs recommend, and apparently the only way it does encapsulation)
This commit is contained in:
18
templates/VueSpa/ClientApp/boot-server.ts
Normal file
18
templates/VueSpa/ClientApp/boot-server.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { createServerRenderer, RenderResult } from 'aspnet-prerendering';
|
||||
import { createBundleRenderer } from 'vue-server-renderer';
|
||||
const path = require('path');
|
||||
const bundleRenderer = createBundleRenderer(path.resolve('ClientApp/dist/vue-ssr-bundle.json'), {
|
||||
template: '<!--vue-ssr-outlet-->'
|
||||
});
|
||||
|
||||
export default createServerRenderer(params => {
|
||||
return new Promise<RenderResult>((resolve, reject) => {
|
||||
bundleRenderer.renderToString(params, (error, html) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
resolve({ html: html });
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user