Ответ 1
var http = require('http');
var url = require('url');
var fs = require('fs');
var neededstats = [];
http.createServer(function(req, res) {
if (req.url == '/index.html' || req.url == '/') {
fs.readFile('./index.html', function(err, data) {
res.end(data);
});
} else {
var p = __dirname + '/' + req.params.filepath;
fs.stat(p, function(err, stats) {
if (err) {
throw err;
}
neededstats.push(stats.mtime);
neededstats.push(stats.size);
res.send(neededstats);
});
}
}).listen(8080, '0.0.0.0');
console.log('Server running.');
Я не тестировал ваш код, но другие вещи работают
Если вы хотите получить информацию о пути из запроса url
var url_parts = url.parse(req.url);
console.log(url_parts);
console.log(url_parts.pathname);
1. Если вы получаете параметры URL, которые еще не могут прочитать файл, просто исправьте путь к файлу в моем примере. Если вы поместите index.html в тот же каталог, что и код сервера, он будет работать...
2.если у вас есть большая структура папок, которую вы хотите разместить с помощью node, тогда я бы посоветовал вам использовать некоторую фреймворк, например expressjs
Если вам требуется исходное решение для пути к файлу
var http = require("http");
var url = require("url");
function start() {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
console.log("Request for " + pathname + " received.");
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
источник: http://www.nodebeginner.org/