如何设置/自定义连接/中间件目录输出



我正在尝试为服务器构建一个简单的搜索/浏览服务,我认为使用 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中间件生成的 HTML/CSS?

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

编辑:查看代码后,似乎覆盖函数不是要走的路。它使用的文件似乎相当硬编码,我最终可能会复制整个文件以覆盖我想要的内容。那么,知道吗?

你可以

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

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

您可以重写express.directory.html(),但您仍然可能遇到任何问题,即任何更新都会使其由于内部更改而停止工作。

我相信

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

最新更新