在express中,我可以使用带有目录索引页的静态服务器:
app.configure(function() {
app.use('/mystuff', _express.static(__dirname + "/whatever/stuff"));
app.use('/mystuff', _express.directory(__dirname + "/whatever/stuff"));
});
我想修改目录索引页面,给它们不同的css,添加一些javascript,也许改变html。如果可能的话,我更喜欢使用尽可能多的现有功能,但如果用我自己的代码轻松替换整个目录中间件,那么这是一个选项。不知道从哪里开始。当然,我不想在快速或连接模块中实际编辑代码。
BTW,其中一个原因是解决我在这里提到的错误:How do I set up static serving in Express with an arbitrary start path?答案 0 :(得分:1)
正如您在评论中所说,express.directory
功能来自Connect middleware;但是,似乎没有办法设置自定义文件。
作为替代解决方案,您可以分叉Connect,更改文件(位于lib/public/directory.html
和lib/public/style.css
),使用fork作为依赖项,并执行:
var connect = require('connect');
app.configure(function() {
app.use('/mystuff', connect.static(__dirname + "/whatever/stuff"));
app.use('/mystuff', connect.directory(__dirname + "/whatever/stuff"));
});
而不是表达的。我刚刚对此进行了测试(通过编辑node_module中的文件),并且工作正常。
修改强>
实际上,您可能只需从连接中抓取directory.js
并修改它并将其放入您的应用中并require()
,然后再使用它。我没有对此进行测试,但我不明白为什么它不起作用。