我正在尝试为服务器构建一个简单的搜索/浏览服务,我认为使用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
还是有更好/更清洁的方式?
编辑:看完代码之后,它似乎无法覆盖该功能。它使用的文件似乎相当硬编码,我可能最终复制整个文件以覆盖我想要的。那么,任何想法?
答案 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的最简洁方法。