私はnodejsにかなり慣れていないので、これを解決しようとして苦しんでいますが、これまでのところ問題を見つけることができません。
アプリケーション中のある時点で、いくつかのパラメーターを使用して EJS テンプレートをレンダリングしますが、パラメーターが取得されても、それらは空であるようです....
最も基本的なケースをテストしました:
console.log(req.user);
res.render('menu.ejs', { user: String(req.user.username) });
コンソール出力:
{ id: 1,
username: 'bob',
password: 'secret',
email: 'bob@example.com' }
だから私は空の値を送信していません。menu.ejs コードは次のとおりです。
<html>
<body>
<% user %>
</body>
</html>
本当に簡単です。しかし、ページがレンダリングされると、空のページしか得られません...さらにHTMLを使用しても、ユーザーの値を取得し続けます...
アプリケーションのある時点で、パスポートを使用してユーザーを認証し、フラッシュを使用して、次の方法でメッセージを取得できました。
res.render('login.ejs', { message: req.flash('message') });
しかし、それでも menu.ejs エラーが残ります。ファイルの名前を変更し、渡されたパラメーターの名前を変更し、さらにパラメーターを追加し、渡されたパラメーターの値をハードコーディングしました...そして、常に同じ結果が得られます =(
プロジェクトの依存関係:
"dependencies": {
"express": "~4.9.x",
"express-session": "1.9.3",
"mysql ": "2.5.3",
"body-parser": "1.10.0",
"passport": "0.2.1",
"passport-local": "1.0.0",
"connect-flash": "0.1.1",
"cookie-parser": "1.3.3",
"ejs": "1.0.0"
}
何か案は?