NodeJS EJS
EJS
Embedded JavaScript
Install
npm install ejs
File : .ejs
Style
<%=val %>
Sample – index.ejs
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title><%=title %></title> <link type="text/css" href="style.css" rel="stylesheet"> </head> <body> <h1><%=title %></h1> <p><%=msg %></p> </body> </html>
title, msg are parameters
Sample(JavaScript) – main.js
var http = require('http'); var fs = require('fs'); var url = require('url'); var ejs = require('ejs'); var index = fs.readFileSync('index.ejs', 'utf8'); var style = fs.readFileSync('style.css', 'utf8'); var server = http.createServer(); server.on('request', doRequest); server.listen(1337); function doRequest(req, res) { var path = url.parse(req.url); switch(path.pathname) { case '/': var tmp = ejs.render(index, {title: "Sample", msg: "This is sample"}); // path data to ejb using hash res.setHeader('Content-Type', 'text/html'); res.write(tmp); res.end(); break; case '/style.css': res.setHeader('Content-Type', 'text/css'); res.write(style); res.end(); break; default: res.setHeader('Content-Type', 'text/plain'); res.write('ERROR'); res.end(); break; } } console.log('Server running at http://127.0.0.1:1337');
Set parameters in here.(Pass parameters to .ejs)
EJS Codes
JavaScript in <%%
<% var dt = new Date(); var y = dt.getFullYear(); var m = dt.getMonth(); var d = dt.getDate(); %>
stylesheet
We need to handle stylesheet in javascript.
var fs = require('fs'); var style = fs.readFileSync('style.css', 'utf8'); res.setHeader('Content-Type', 'text/css'); res.write(style); res.end();
Jade vs EJS
Design -> EJS
Program -> jade