我正在尝试为一些静态文件提供更好的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问题。