node.js--jade,路由,文件的读写

jade:模板引擎,用于生成html

为什么要使用模板引擎:使得应用程序可以动态输出数据到html中。
jade是基于缩进的。

jade的用途:

1)定义页面结构。
2)向页面中输出数据(主要使用两个特殊字符)
   a.第一个字符时减号(-),用于告诉随后的代码应当被执行。
   b.第二个字符时等号(=),告诉解析器要对代码进行演算,转义,然后输出。




路由:用来定义应用程序中的http请求的最终点的术语。

3)添加get路由:
var express = require('express') , routes = require('./routes')
var app = module.exports = express.createServer();
app.get('/', routes.index);
app.get('/about', function(req, res){
    res.send('Hello from the about route!');
});
这样,当页面中请求http://localhost:3000/about时,则想页面中输出:Hello from the about

route!,当页面中请求http://localhost:3000/时,会加载index页面。


4)添加post路由:
app.get('/', routes.index);
app.post('/', function(req, res){
  res.send(req.body);
});
当页面请求到来时,会输出所有的内容。


5)视图渲染:把内容作为响应来发送给客户端。
常见的渲染模式是在路由内使用res.render来渲染一个模板并且将本地变量传递给他。
app.get('/',function(req,res){


  res.render('index.jade',{title:'my site'});
});


6)路由完整例子:
app.get('/users/:id', function(req, res){
  var users = {
    1 : {
      first_name: 'Keyser',
      surname: 'Soze',
      address: 'Next door',
      facebook_friends: '4'
    },
    2 : {
      first_name: 'Roger',
      surname: 'Kint',
      address: 'London, England',
      facebook_friends: '10000000000000'
    }
  }
  res.render('index.jade', { title: 'User', user: users[req.params.id]  });
});


index.jade:

h1 Passing data through to the view layer

h3 First Name
p= user.first_name

h3 Surname
p= user.surname

h3 Address
p= user.address

h3 Facebook Friends
p= user.facebook_friends

在页面中输入:http://localhost:3000/user/1 会看到user1的信息。



7)将数据写入文件中:
var fs = require('fs'),
    data = "Some data I want to write to a file";
fs.writeFile('file.txt', data, function (err) {
  if (!err) {
    console.log('Wrote data to file.txt');
  } else {
    throw err;
  }
});

如果文件不存在,writeFile()方法也会创建文件,而无需单独创建文件。


8)从文件中读取数据:

var fs = require('fs');
fs.readFile('file.txt', 'utf8', function (err, data) {
    if (!err) {
      console.log(data);
    } else {
      throw err;
    }
});

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值