如何将Express路由别名设置为html文件?

时间:2012-02-05 11:27:52

标签: node.js express

我正在尝试使用更好的url端点来提供一些静态文件。

例如,/home将投放/public/home.html

我可能在路由配置中使用res.sendfile(),但sendfile不会在生产模式下缓存文件输出,因此我不太确定这是否是一个很好的解决方案。

如何设置路由以充当html文件的别名?

2 个答案:

答案 0 :(得分:25)

试试这个。

var express = require('express');
var app =express.createServer();
// ------
app.get('/home', function(req,res){
 res.sendfile(__dirname + '/public/home.html');
}); 

答案 1 :(得分:3)

有一个名为node-static的模块,它提供缓存功能。您也可以只使用符号链接。使用nginx的try_files或其他非node.js反向代理可以更好地为此功能提供服务。

有一段时间,有一个staticCache中间件内置到express中,可以进行缓存。它是removed from connect in January 2014Here's the github issue where TJ explains staticCache being deprecated