私は非常に奇妙な問題を抱えています。
ExpressJSでNodeJSを使用しています。ユーザーを認証する「パスポート」モジュールも有効にしました。
私は次のルートを持っています
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」コードを取り出しましたが、まだ発生しています。
何か案は?
アップデート
ブラウザが「ハング」して何も読み込まれなくなったら、どこにも行けません。アセット (CSS ファイル、JS ファイル、画像など) またはパスを取得するためにブラウザーに任意の URL を入力すると、読み込みが続行され、コンソール ログには何も表示されません。
更新2
これはますます奇妙になっています。だからここに私がやったことです。ルートに行くと
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.jade) ファイルが正しく表示されます。そして、ここにキッカーがあります。正確に 16 回更新すると、17 回目にページがハングします。
NodeJSサーバーを停止して再起動すると、まったく同じことが16回の更新まで機能し、17日に停止します。
パスポートモジュールにある種の「リクエスト」制限があるような気がしますか? または、私は気が狂ってしまうかもしれません。
解決済み
私は自分の問題を発見しました-初歩的な間違いです-PostgresをDBとして使用していましたが、各クエリに対して、接続を適切に「閉じ」ていませんでした。したがって、リフレッシュするたびに、DBへの新しい接続が開かれました-ばかばかしい、ばかげた。