NodeJS 如何样式化/自定义connect/middleware-directory输出?

yws3nbqq  于 2023-06-05  发布在  Node.js
关注(0)|答案(2)|浏览(358)

我正在尝试为服务器构建一个简单的搜索/浏览服务,我认为使用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,或者有更好/更干净的方法吗?

**编辑:**看过代码后,似乎重写函数不是一种方法。它使用的文件似乎是硬编码的,我可能最终会复制整个文件来覆盖我想要的。有什么想法吗

vdgimpew

vdgimpew1#

您可以从Express中间件中提取所有相关代码,进行自己的调整,并将其保存为应用程序的一部分(作为./lib/middleware/directory.js或其他内容)。
如果您要修改node_modules/目录中的文件,可以确保在更新时会丢失任何修改。
你可以重写express.directory.html(),但你仍然可能遇到这样的问题,即任何更新都会使它因为内部更改而停止工作。

u2nhd7ah

u2nhd7ah2#

我相信直接编辑node_modules/express/node_modules/connect/lib/public/style.css和directory.html是定制默认的express目录style/html的最干净的方法。

相关问题