如何设置/自定义connect / middleware-directory输出?

时间:2013-10-17 15:03:54

标签: node.js express connect

我正在尝试为服务器构建一个简单的搜索/浏览服务,我认为使用express来熟悉它可能会很有趣。

对于我正在考虑的问题,我有express@3.4.1和一个非常简单的app.js

var express = require("express");
var app = express();
//var express = require('express')
//, app = express.createServer();

app.configure(function() {
    var hourMs = 1000*60*60;
    app.use(express.static(__dirname + '/public', { maxAge: hourMs }));
    app.use(express.directory(__dirname + '/public', {hidden: true, icons: true}));
    app.use(express.errorHandler());
});

app.listen(1333);

如何设置/自定义directory middleware生成的HTML / CSS?

我应该覆盖app.js中的express.directory.html还是有更好/更清洁的方式?

编辑:看完代码之后,它似乎无法覆盖该功能。它使用的文件似乎相当硬编码,我可能最终复制整个文件以覆盖我想要的。那么,任何想法?

2 个答案:

答案 0 :(得分:1)

您可以从Express中间件中提取所有相关代码,进行自己的调整,并将其另存为应用程序的一部分(./lib/middleware/directory.js或其他内容)。

如果您要修改node_modules/目录中的文件,可以确保在更新时丢失任何修改。

可以重写express.directory.html(),但您可能仍会遇到任何更新因内部更改而停止工作的问题。

答案 1 :(得分:0)

我相信直接编辑node_modules / express / node_modules / connect / lib / public / style.css和directory.html将是自定义默认快速目录样式/ html的最简洁方法。