Node.js开发Web后台服务(六)之ejs基础
文章 1786 0 0 0
发布时间:2019年02月20日

5.6、ejs基础

ejs是一个Express Web应用的模板引擎,在NodeJS开发中可以选择的模板引擎可能是所有Web应用开发中范围最广的,如jade、ejs、htmljs、swig、hogan.js,但ejs是最容易上手的,与jsp,asp,php的原始模板引擎风格很像。

官网:http://www.embeddedjs.com/

添加一个product.js路由:

var express = require('express');
var router = express.Router();/ 产品 /
router.get('/', function(req, res, next) {
    var products=[];
    products.push({name:"ZTE U880",price:899.8});
    products.push({name:"HuWei 荣耀8",price:1899.8});
    products.push({name:"iPhone 7 Plus 128G",price:5899.8});
    //将product视图与指定的对象渲染后输出到客户端
    res.render('product', { title: '天狗商城', pdts:products});
});
module.exports = router;

在views目录下添加product.ejs视图,这里是一个简单的MVC:

修改app,注册定义好的模块product:

var index = require('./routes/index');
var users = require('./routes/users');
var pdts = require('./routes/product');
var app = express();
//指定视图引擎为ejs
app.set('views', path.join(dirname, 'views'));
app.set('view engine', 'ejs');
// uncomment after placing your favicon in /public//
app.use(favicon(path.join(dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', index);
app.use('/users', users);app.use('/pdt', pdts);

运行结果:

Node.js开发Web后台服务(六)之ejs基础

评论专区