NodeJS,ExpressJS – 重新加载不正确地刷新页面
我有一个很奇怪的问题。
我用ExpressJS使用NodeJS。 我也启用了“护照”模块来validation用户。
我有以下路线
app.get("/home", ensureLoggedIn("/login"), (req, res) -> res.render "home", title:"Home" )
用户第一次login后可以正常工作。
现在当我在“本地主机:3000 /家”,我刷新,似乎并不是所有的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文件,我试图加载。
我认为这是与“护照”模块有关,所以我把“sureLoggedIn”代码OUT,但它仍然在发生。
有任何想法吗?
更新
一旦浏览器“挂起”,不加载任何东西,我不能去任何地方。 我在浏览器中input任何URL以获取任何资产(例如CSS文件,JS文件,图像)或path,它只是继续加载,并且控制台日志中没有任何内容。
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" )
我可以login成功,我的“家”(home.jade)文件正确显示。 这是踢球。 我刷新了16次,然后在第17次,页面挂起。
我停止我的NodeJS服务器,并重新启动和完全相同的事情,工作到16刷新,并在17日,停止。
我觉得护照模块有某种“要求”限制? 或者我可能会疯了。
解决
我发现我的问题 – 一个菜鸟的错误 – 我使用Postgres作为我的数据库,对于每个查询,我没有正确closures连接。 所以每次刷新,都会给DB打开一个新的连接 – 愚蠢,愚蠢。