我有一个非常奇怪的问题。
我在ExpressJS上使用NodeJS。我还启用了“passport”模块来验证用户身份。
我有以下路线
app.get("/home", ensureLoggedIn("/login"), (req, res) ->
res.render "home",
title:"Home"
)
用户首次登录后工作正常。
现在当我在“localhost:3000 / home”并刷新时,似乎并非所有的CSS和JS文件都被加载,所以我的Chrome只是“加载”(旋转图像)。
当我查看我的控制台时,我已经打印出以下日志
GET /home 200 14ms - 1.32kb <-- first time page being loaded...
GET /css/main.css 304 19ms
GET /js/libs/handlebars.min.js 304 12ms
GET /js/libs/underscore-min.js 304 19ms
GET /js/libs/jquery-ui-1.10.2.custom.min.js 304 21ms
GET /js/libs/jquery-migrate-1.1.1.min.js 304 26ms
GET /js/libs/backbone-min.js 304 19ms
GET /js/libs/jquery-1.9.1.min.js 304 31ms
GET /home 304 18ms <-- second time page being loaded
GET /js/libs/underscore-min.js 304 14ms
GET /js/libs/jquery-ui-1.10.2.custom.min.js 304 16ms
GET /js/libs/jquery-1.9.1.min.js 304 15ms
GET /js/libs/jquery-migrate-1.1.1.min.js 304 15ms
起初看起来它似乎是一个特定的JS文件,所以我把“jquery-migrate-1.1.1.min.js”文件拿出来了,但它又发生在我试图加载的另一个JS文件上。
我认为这与“护照”模块有关,所以我把“ensureLoggedIn”代码用了OUT,但它仍在发生。
有什么想法吗?
一旦浏览器“挂起”并且没有加载任何东西,我就无法去任何地方。我在浏览器中键入任何URL以获取任何资产(例如CSS文件,JS文件,图像)或路径,它只是继续加载,控制台日志中没有任何内容。
这变得更加奇怪。所以这就是我做的。当我去路线时
app.get("/home", (req, res) ->
res.render "home",
title:"Home"
)
使用我的(非常简单的)home.jade文件
!!! 5
html(lang='en')
head
body
一切正常。我可以多次刷新页面,没有问题。
然后我启用“护照”模块并转到
app.get("/home", ensureLoggedIn("/login"), (req, res) ->
res.render "home",
title:"Home"
)
我可以成功登录,并且我的“home”(home.jade)文件正确显示。这是踢球者。我刷新了16次,然后在第17次刷新页面。
我停止我的NodeJS服务器并重新启动并完全相同,最多可以进行16次刷新,并且在17日停止。
我觉得护照模块中有某种“请求”限制?或者我可能会发疯。
我发现了我的问题 - 一个新手的错误 - 我使用Postgres作为我的数据库和每个查询,我没有正确地“关闭”连接。因此,每当我刷新时,它都会打开一个与数据库的新连接 - 愚蠢,愚蠢。