【发布时间】:2014-02-19 00:06:42
【问题描述】:
我已经为此苦苦挣扎了好几个星期了——出于某种原因,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 在这些情况下,我发现唯一有帮助的是重新启动,这不太有趣:/
【问题讨论】:
标签: javascript node.js http express connect