小编eep*_*lip的帖子

在授权路由中使用express.static中间件

我正在使用带有express和passportjs的节点来限制对位于私人文件夹中的文件的访问.我已将代码缩减为以下内容.公共静态文件夹中的所有内容都很有效,但通过使用staticMiddleware路由目标私有文件夹会返回404错误.

var express = require('express')
,   util = require('util');

var app = express.createServer();
var staticMiddleware = express.static(__dirname + '/private');

app.configure(function() {
  app.use(app.router);
  app.use(express.logger('dev')); 
  app.use('/public',express.static(__dirname + '/public'));
});

app.get('/private/:file', function(req, res, next){
    console.log('about to send restricted file '+ req.params.file);
    staticMiddleware(req, res, next);
});
app.listen(16000);
Run Code Online (Sandbox Code Playgroud)

我使用以下似乎适用于其他人的参考文献,所以我必须遗漏一些东西.它不适用于我只显示私人区域内容的404响应.

Node.js特定于模块的静态资源

即使使用express.static,NodeJS也不会提供静态文件

重定向到express.js中的静态文件

我本来可以发誓我之前有这个工作,也许它在一个新版本的东西中被破坏了.

  • 节点v0.8.1
  • npm 1.1.12
  • express@2.5.11
  • connect@1.9.2

connect node.js express

13
推荐指数
1
解决办法
7996
查看次数

标签 统计

connect ×1

express ×1

node.js ×1