Express.js超时请求静态文件

时间:2014-02-19 00:06:43

标签: javascript node.js http express connect

我几周来一直在努力解决这个问题 - 出于某种原因,Express在启动后几个小时工作正常,然后开始忽略静态文件的请求。 它看起来像这样:

GET / 304 153ms
GET /js/bootstrap.min.js 200 120000ms
GET /img/guide/0.png 200 120000ms
GET /img/guide/1.png 200 120000ms
GET /img/guide/2.png 200 120000ms

当我查看Chrome的资源浏览器时,/由普通的app.get()函数处理的页面正常工作并发送到客户端 - 静态文件不是。

从客户端,页面加载2分钟显示空白的白色虚无,然后显示没有任何CSS样式或脚本的内容(可预测)。

我不知道我做错了什么,即使是我发现的最简单的Express例子也有这个问题,我没有看到它发布在任何地方。也许这是中间件的顺序,我真的不知道了......

我希望这是微不足道的,我只是愚蠢/盲目;这是代码的一部分:

app = express()
app.set('views', __dirname + '/views')
app.set('view engine', 'jade')
app.use(express.logger('dev'))
app.use(express.cookieParser())
app.use(express.bodyParser())
app.use(express.session({
    key: 'express.sid',
    secret: 'wewillchangethislater',
    store: sessionStore
}))
app.use(passport.initialize())
app.use(passport.session())
app.use(function(req, res, next) {
    res.locals.isAjax = false
    res.locals.user = req.user
    next()
})
app.use(app.router)
app.use(express.static(__dirname + '/public'))

我已经看到它发生了更简单的代码:

var express = require('express')
var app = express()

app.set('views', __dirname + '/views')
app.set('view engine', 'jade')
app.use(express.logger('dev'))
app.use(function(req, res, next) {
    res.locals.isAjax = false
    next()
})
app.use(express.static(__dirname + '/public'))

*some routes here*

app.listen(9999)

剩下的代码就在这个完全破碎的回购中:https://github.com/Maxorq/Mikuia/blob/master/www.js 我发现在这些情况下唯一能帮到的就是重启,这不太有趣:/

1 个答案:

答案 0 :(得分:-1)

由于配置

,我看到了树脂服务器的这种行为

也许不一样但可能会指出你正确的方向

请参阅https://stackoverflow.com/questions/22325309/css-and-js-files-hold-the-http-connection-until-timeout-on-resin-4