You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
s2 2701eb3060 1.0.13 1 month ago
examples add an example 1 month ago
.editorconfig some boilerplate stuff 11 months ago
.eslintignore some boilerplate stuff 11 months ago
.eslintrc.json no-console 1 month ago
README.md add an example 11 months ago
ejs-render-remote.js just throw when called sync 1 month ago
package.json 1.0.13 1 month ago

README.md

ejs-render-remote

ejs remote client side includes.

html = ejs.rr('sayhello.ejs', {name: 'Simon'});

Quick start

  1. Install with npm i ejs-render-remote
  2. Include this script
    <script src="node_modules/ejs-render-remote/ejs-render-remote.js"></script>
    
  3. Create a file with your template, for example templates/hello-world.ejs containing hello <%= name %>!
  4. Render the remote template:
    someDomelement.outerHTML = ejs.rr('templates/hello-world.ejs', {name: 'Simon'});
    

Examples

See examples folder.

api

ejs.rr(templateUrl, data)

ejs.rr (render remote) renders the remote template. It makes an ajax call to fetch the template and then ejs.renders it.
The resulting ejs template function is cached, so the second time this function is invoked for that same template, ejs.rr returns the rendered template synchronously.

ejs.preloadTemplate(templateUrl)

Since ejs.rr is async, you can call ejs.preloadTemplate before invoking ejs.rr to warm the template cache up for that templateUrl.
By doing so the call to ejs.rr will return the rendered template string right away.