Search code examples
node.jsliferayfrontendbrowserifyvelocity

use velocity template engine in js page


i know there's some nodejs modules to use apache velocity in node like those addresses in that question's response.

could be done to use it as a, says, mustache replacement via, maybe, browserify.js?

how would you do that as a workflow?

I suspect it would be a better implementation on Liferay's frontend template development, so the frontender can serve to the java team html already velocity templating aware.

Thanks a lot.


Solution

  • You can directly use velocityjs on browser after using browserify on it.

    Installation

    First install velocityjs in your node_modules

    $> npm install velocityjs

    Now from your project (where the node_modules mentioned above exists) use browserify

    browserify -r velocityjs > velocity.js

    This will create a velocity.js file that you can include in your website directly. If you don't have browserify then do npm install -g browserify

    Usage

    In your webpage js file first require velocityjs

    var velocityjs = require("velocityjs");

    Now to get the templated html do

    var renderedString = velocityjs.render(initialString,context)

    Note that velocity does not care if your initial string was html or not, you need to ensure that