Rumah  >  Artikel  >  hujung hadapan web  >  Node.js自定义实现文件路由功能的方法

Node.js自定义实现文件路由功能的方法

一个新手
一个新手asal
2017-09-22 09:59:031473semak imbas

一、创建路由处理定义

//获取http模块
var http = require('http');
//文件 模块
var fs = require('fs');

//404文件
var error = "./view/404.html";
//实现文件 相应函数以及404错误相应函数 
var Response = function (res, filePath) {
    //读取 文件,然后给客户端 相应
    fs.readFile(filePath, function (err, data) {
        if (err) {
            if (filePath != error) //如果出错输出404页面
                Response(res, error);
        } else {
            res.writeHead(200, { 'Content-Type': 'text/html' });
            res.end(data);
        }
    });
}

二、创建服务器 ,监听路由处理

//创建和启动服务器
var server = http.createServer(function (req, res) {
    console.info(req.url);
    //判断 URL,提供 不同的路由
    var url = req.url;
    if (url == '/index' || url == '/') {
        //主页
        var index = require('../view/index');
        index.write(res);
    } else {
        //制定文件输出view下的文件内容
        Response(res, './view' + url);
    }
});
//启动服务器
server.listen('3000', function () {
    var address = server.address();
    console.info(address);
    console.info('服务器启动成功:http://localhost:%s', address.port);
});



三 、首页模块响应

/**
 * 主页内容响应处理
 */
exports.write=function(res){
    res.writeHead(200,{'Content-Type':'text/html'});
    res.write(&#39;<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />&#39;);
    res.write(&#39;<h1>主页内容2</h1>&#39;);
    res.end();
}

Atas ialah kandungan terperinci Node.js自定义实现文件路由功能的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn