Nodejs篇五 - nodejs中使用art-template模板引擎

在Nodejs中使用art-template模板渲染

第一,在项目中安装art-template模板引擎并引入art-template模块

先在项目中npm install art-template --save

第二,创建http服务器,并监听'request'事件

let http = require('http');

let server = http.createServer();

//监听request请求
server.on('request', (req, res) => {
  
})

server.listen(9527, () => {
  console.log('服务已启动,请通过127.0.0.1:9527进行访问');
})

第三,引入fs可选模块用于读取模板文件

先看下userInfo.html的内容

<p>我的名字是{{ name }}</p>
<p>我今年已经{{ age }}岁了</p>
<p>我是{{ province }}人</p>
<p>我的爱好是:{{each hobby}}  {{ $value }} {{/each}}</p>
let fs = require('fs');
fs.readFile('./userInfo.html',(error, data) => {
    if(error){
      console.log('文件读取错误');
    }else{
      let myData = data.toString()  //toString()是把获取到的二进制数据转为正常字符串
    }
  })

第四,引入art-template 并渲染编译模板

let template = require('art-template');
template.render(myData, {
    name:'张三',
    age:28,
    province:'上海',
    hobby:['唱歌', '跳舞', '扯淡']
})

第五,返回编译后的模板数据

let result = template.render(myData, {
    name:'张三',
    age:28,
    province:'上海',
    hobby:['唱歌', '跳舞', '扯淡']
  })
  console.log(result);
  res.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});  //设置响应头,防止中文乱码
  res.end(result);  //返回数据

第六,浏览器中访问服务,接受到编译后的数据

image.png

最后来看下完整代码


let http = require('http');
let fs = require('fs');
let template = require('art-template');

let server = http.createServer();

server.on('request', (req, res) => {
  fs.readFile('./userInfo.html',(error, data) => {
    if(error){
      console.log('文件读取错误');
    }else{
      let myData = data.toString();
      let result = template.render(myData, {
        name:'张三',
        age:28,
        province:'上海',
        hobby:['唱歌', '跳舞', '扯淡']
      });
      console.log(result);
      res.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});
      res.end(result);
    }
  })
});

server.listen(9527, () => {
  console.log('服务已启动,请通过127.0.0.1:9527进行访问');
})

推荐阅读更多精彩内容