巧用express中间件输出当前访问目录的文件列表

in 大杂烩 with 0 comments, 7088 views

需求

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中间件的管道机制决定的。

相关参考

server-index

Responses ${replyToWho} / Cancel Reply