CAP Plugin to enable server side rendering in UI5
npm install ui5-cap-serverside-rendering-plugin``sh`
npm install ui5-cap-serverside-rendering-plugin
Create a folder "views" or "fragments" in the "srv" folder of your CAP project. Move your UI5 view or fragment into this folder and replace the UI5 bindings with handlebars, e.g.:
https://github.com/lemaiwo/ui5-cap-serverside-rendering-plugin/blob/main/tests/demo-project/srv/views/BooksList.view.xml
`sh`
{{#each Books}}
title="{{title}} - {{ID}}"
description="{{author}}">
{{/each}}
Enable an entity for this pre-rendering by loading the plugin and add the aspect "ServerSideRendering" to the entity. Next to that, you can also define if you like to use views or fragments. The plugin will use view as the default in case this is not defined:
https://github.com/lemaiwo/ui5-cap-serverside-rendering-plugin/blob/main/tests/demo-project/db/schema.cds
`sh
using { ServerSideRendering } from 'ui5-cap-serverside-rendering-plugin';
entity Books@(ServerSideRenderingType:'view'):ServerSideRendering {
key ID : Integer;
title : String;
stock : Integer;
}
``
You can find a demo project here: https://github.com/lemaiwo/ui5-cap-serverside-rendering-demo