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



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

例如,/home将服务于/public/home.html

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

如何将路由设置为类似于html文件的别名?

试试这个。

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

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

有一段时间,express中内置了一个staticCache中间件来进行缓存。它于2014年1月从connect中删除。以下是TJ解释不赞成使用staticCache的github问题。

最新更新