app.jsは、allArticlesをJSONファイルの記事でグローバル変数として初期化します。私のデータルートは部分的にしか動作しません。
app.locals.allArticles = dataFile.articles;
articles.js(ルート)アプリのデータを取り、articles.ejsページ内で使用できるよう
router.get('/articles', function(req, res) {
var data = req.app.get('appData');
var articleTitles = data.articles;
res.render('articles', {
pageTitle: 'Articles',
pageID: 'articles',
articles: articleTitles
});
});
header.ejs参照のallArticles
<% allArticles.forEach(function(item) { %>
<%= item.name %>
<% }); %>
問題を次のように:PageIDや記事への参照は参照エラーを起こします。つまり、
allArticles is not defined
奇妙なことは、ページタイトルへの参照は、あなたがallArticles
、あなたのビューにarticles
という名前のビュー変数を渡しているではない...