NodeJS,ExpressJS - 重新加载不会正确刷新页面

时间:2013-04-23 02:08:11

标签: javascript node.js express

我有一个非常奇怪的问题。

我在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文件,图像)或路径,它只是继续加载,控制台日志中没有任何内容。

UPDATE2

这变得更加奇怪。所以这就是我做的。当我去路线时

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作为我的数据库和每个查询,我没有正确地“关闭”连接。因此,每当我刷新时,它都会打开一个与数据库的新连接 - 愚蠢,愚蠢。

0 个答案:

没有答案