Freemarker integration for NodeJS.
npm install @olton/freemarkerjar files:
JAVA_HOME should be set properly
npm i @olton/freemarker -S
javascript
import Freemarker from '@olton/freemarker';
const freemarker = new Freemarker();
freemarker.render('${title}
', { title: 'test render' }, (err, result) => {
if (err) {
throw new Error(err);
}
console.log(result);
});
`
NOTICE: Don't use #include in string for rendering.
#### Render file
`javascript
import Freemarker from '@olton/freemarker';
import { fileURLToPath } from 'url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const freemarker = new Freemarker({ root: __dirname, suffix: '.tpl' });
freemarker.renderFile(path.join(__dirname, 'index'), data, (err, result) => {
if (err) {
throw new Error(err);
}
console.log(result);
});
`
In this example, path.join(__dirname, 'index') can be replaced with index or index.tpl because we set root and suffix options.
Test
Node with ESM support is required!
npm test`