我正在尝试使用更好的url端点来提供一些静态文件。
例如,/home
将投放/public/home.html
。
我可能在路由配置中使用res.sendfile()
,但sendfile不会在生产模式下缓存文件输出,因此我不太确定这是否是一个很好的解决方案。
如何设置路由以充当html文件的别名?
答案 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 2014。Here's the github issue where TJ explains staticCache being deprecated。