我正在尝试为服务器构建一个简单的搜索/浏览服务,我认为使用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条答案
按热度按时间vdgimpew1#
您可以从Express中间件中提取所有相关代码,进行自己的调整,并将其保存为应用程序的一部分(作为
./lib/middleware/directory.js
或其他内容)。如果您要修改
node_modules/
目录中的文件,可以确保在更新时会丢失任何修改。你可以重写
express.directory.html()
,但你仍然可能遇到这样的问题,即任何更新都会使它因为内部更改而停止工作。u2nhd7ah2#
我相信直接编辑node_modules/express/node_modules/connect/lib/public/style.css和directory.html是定制默认的express目录style/html的最干净的方法。