Grunt grunt-ejs-locals
grunt-ejs-locals
grunt-ejs-locals is Grunt plugin
to create html(static) file from ejs template. There is a good example in this page.
(partial, body ….)
Easy Example
Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
ejs: {
all: {
src: ['config.ejs'],
cwd: 'views/',
dest: 'dist',
expand: true,
ext: '.html',
options: {
title : 'EJS Local',
name : 'Kotori'
}
}
}
});
grunt.loadNpmTasks('grunt-ejs-locals');
};
Prepare ejs file in views(nodejs express)
<!DOCTYPE html>
<html ng-app="listApp">
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<link rel='stylesheet' href='/bower/bootstrap/dist/css/bootstrap.css' />
<script src="/bower/angular/angular.min.js"></script>
</head>
<body ng-controller="listController">
<h3><%= name %></h3>
</body>
</html>
‘name’ and ‘title’ are parameters for ejs, basically these parameters are filled in server side code
Run
grunt ejs
Generate config.html in dist/
<!DOCTYPE html>
<html ng-app="listApp">
<head>
<title>EJS Local</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<link rel='stylesheet' href='/bower/bootstrap/dist/css/bootstrap.css' />
<script src="/bower/angular/angular.min.js"></script>
</head>
<body ng-controller="listController">
<h3>Kotori</h3>
</body>
</html>
Filled parameters and make style for html. We can use this for testing without server side codes with grunt-ejs-locals
