art-template(二):在Express中配置使用art-template

安装

npm install --save art-template
npm install --save express-art-template

虽然不需要直接require art-template,但是由于express-art-template需要art-template,因此也必须安装art-template

配置

在NodeJS中,使用engine函数来配置art-template

  • 第一个参数表示,当渲染以art结尾的文件时,使用art-template模板引擎,在实际使用的时候,往往使用html作为模板渲染文件的扩展名
  • 第二个参数引用express-art-template包
var app = express()
app.engine('art',require('express-art-template'))

修改默认路径

art-template默认使用/views作为模板文件的存储路径,在使用render函数渲染时,默认到这个路径下去查找文件

//如果想要修改默认路径,第一个参数必须是views
app.set('views',render函数的默认路径)
app.set('views',path.join(__dirname,'./views'))

使用

使用response对象的render函数来渲染数据,该函数接收2个参数,res.render('html模板名',{模板数据})

  • 第一个参数:html模板名,不能带根路径,默认去项目中的/views中去找模板文件,模板文件的扩展名必须与engine函数的第一个参数保持一致
  • 第二个参数:模板数据,一般是一个对象类型的数据
app.get('/',function(req,res){
    res.render('index.art')
    res.render('admin/index.art',{
        title:'manage system'
    })
})

官方示例

var express = require('express');
var app = express();
app.engine('art', require('express-art-template'));
app.set('view options', {
    debug: process.env.NODE_ENV !== 'production'
});

app.get('/', function (req, res) {
    res.render('index.art', {
        user: {
            name: 'aui',
            tags: ['art', 'template', 'nodejs']
        }
    });
});

你可能感兴趣的:(NodeJS)