我已经为此挣扎了好几个星期了--出于某种原因,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()函数处理的/处的页面正常工作并发送到客户端-静态文件没有。
从客户端的Angular 来看,页面加载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)
其余的代码在这个完全破碎的repo中:https://github.com/Maxorq/Mikuia/blob/master/www.js在这些情况下,我发现唯一有帮助的是重新启动,这不是很有趣:/
1条答案
按热度按时间9o685dep1#
我已经看到了这种行为与树脂服务器由于配置
也许不一样,但可能会给你指出正确的方向
参见https://stackoverflow.com/questions/22325309/css-and-js-files-hold-the-http-connection-until-timeout-on-resin-4