利用node核心模块http
结合art-template构建Apache读取文件目录的效果
http构建类似Apache读取目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| const fs = require('fs'); const http = require('http'); const template = require('art-template'); const path = require('path');
const testDir = 'd:/NodeTest/www';
let server = http.createServer(); server.on('request', function (req, res) { let url = req.url;
let urlPath = path.join(testDir, url); fs.stat(urlPath, function (err, stats) { if (err) { return res.end('404 Not Find') } else { if (stats.isFile()) { fs.readFile(urlPath, function (err, data) { if (err) { return res.end('404 Not Find') } else { res.end(data) } }) } else if (stats.isDirectory()) { let tplStr = fs.readFileSync('./static-template.html').toString(); let files = fs.readdirSync(urlPath);
let html = template.render(tplStr, {files: files}); res.end(html); } } })
});
server.listen(3000, function () { console.log('server is running ...'); });
|