需求
express默认没带列出目录文件的功能,虽然这个功能在很多情况下不是必要的,但有时候如果能够提供还是非常便利的,比如我在本地编写demo的时候就很想有这样的功能(平时会在某个目录下存放各种demo的集合)。
大致效果类似资源管理器
关键点
利用第三方的express中间件(server-index)
最终效果
核心代码
var express = require('express');
var serveIndex = require('serve-index');
var app = express();
app.use('/', serveIndex(__dirname, {'icons': true}))
app.use('/', serveIndex(__dirname+'/static', {'icons': true}))
app.use('/', express.static(__dirname + '/static'));
app.use('/', express.static(__dirname));
app.listen(80, function () {
console.log('Example app listening on port 80!');
});
注意:静态服务器中间件的代码得放后面执行,否则会和server-index中间件冲突而达不到效果,这是由express中间件的管道机制决定的。