原生node.js实现路由跳转的简单项目

为了对不同的请求做不同的处理,所以node的开发人员通常是根据请求的端口号和接口名称做区别处理。

如下实例,分别对8888端口的不同接口做不同的跳转操作,如以下简单的项目实例:

项目目录:

原生node.js实现路由跳转的简单项目_第1张图片

static子目录:

原生node.js实现路由跳转的简单项目_第2张图片

index.js//服务启动文件

let server=require('./server.js');
server.serverStart();

server.js//自定义某个端口的服务文件

var router=require('./router.js');
// 加载所需模块
var http = require('http');
var url = require('url');

var host = '127.0.0.1';
var port = 8888;
function serverStart(){
    http.createServer(function(req,res){
        var pathName = url.parse(req.url).pathname;
        //res.setHeader('Access-Control-Allow-Origin', '域名')允许某个域名跨域,res.setHeader('Access-Control-Allow-Origin', '*')允许所有域名跨域
        res.setHeader('Access-Control-Allow-Origin', '*');
        console.log('Request for ' + pathName + ' received.');
        router.router(res,req,pathName)
    }).listen(port, host);
}
//导出serverStart函数的接口,对外引用名为serverStart
exports.serverStart=serverStart;

router.js//路由处理

var fs = require('fs');
function router(res,req,pathName){
        switch(pathName){
            case '/':
            //add接口
            case '/add':
                showPaper('./static/404.html',res,req,200);
                break;
            //delete接口
            case '/delete':
                showPaper('./static/delete.html',res,req,200);   
                break;
            //'404页'
            default:
                showPaper('./static/404.html',res,req,404);
                break;                            
        }
        function showPaper(path,res,req,status){
            var content = fs.readFileSync(path);
            res.writeHead(status, { 'Content-Type': 'text/html;charset=utf-8' });
            res.write(content);
            res.end();
        }
}
exports.router=router;

以下是跳转的页面,对于某些请求,可以跳转,也可以不必跳转直接返回数据

delete.html




    
    Document


404 not found

add.html




    
    Document


add

404.html




    
    Document


404 not found

输出:

原生node.js实现路由跳转的简单项目_第3张图片

原生node.js实现路由跳转的简单项目_第4张图片

原生node.js实现路由跳转的简单项目_第5张图片

你可能感兴趣的:(node.js)