node笔记(七)-Nodejs 路由封装 模块化方式封装

index.js

  • model[pathname](req,res);
  • 相当于
  • app[login](req,res)
  • 或者
  • app.login(req,res)
var http = require('http');
var url = require('url');
var model = require('./model/model.js');

http.createServer(function(req,res){
    res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
    var pathname = url.parse(req.url).pathname.replace('/','');
    if(pathname != 'favicon.ico'){
        try{
            model[pathname](req,res);
            // model.pathname(req,res);
        }catch(err){
            model['home'](req,res);
            // model.home(req,res);
        }
    }
}).listen(8000)

module.js

var ejs = require('ejs');
var fs = require('fs');

var app = {
    login:function(req,res){
        ejs.renderFile('views/form.ejs',{},function(err,data){
            res.end(data)
        })
    },
    dologin:function(req,res){
        var postStr = '';
        req.on('data',function(chunk){
            postStr += chunk;
        })
        req.on('end',function(err,chunk){
            fs.appendFile('login.txt',postStr+'\n',function(err){
                if(err){
                    console.log(err);
                    return;
                }
                console.log('写入数据成功');
            })
            res.end("<script>alert('登录成功');history.back()</script>")
        })
    },
    register:function(req,res){
        console.log('register');
        res.end('register')
    },
    home:function(req,res){
        console.log('home');
        res.end('home')
    },
}

module.exports = app;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值