Heim  >  Artikel  >  Web-Frontend  >  Benutzerdefinierte Methode von Node.js zum Implementieren der Dateiroutingfunktion

Benutzerdefinierte Methode von Node.js zum Implementieren der Dateiroutingfunktion

一个新手
一个新手Original
2017-09-22 09:59:031487Durchsuche

1. Routing-Verarbeitungsdefinition erstellen

//获取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);
        }
    });
}

2. Einen Server erstellen und Routing-Verarbeitung überwachen

//创建和启动服务器
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);
});



3. Antwort des Homepage-Moduls

/**
 * 主页内容响应处理
 */
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();
}

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Methode von Node.js zum Implementieren der Dateiroutingfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn