私は、NodeJS 静的ブログ ジェネレーターである HarpJS を試しています。チュートリアルには、メタデータの例があります。
for article, slug in public.articles._data
a(href="/articles/#{ slug }")
h2= article.title
および_data.jsonファイル:
{
"hello-world": { <-- available everywhere as public.articles._data
"title": "Hello World.",
"date": "2013-02-28"
},
"hello-brazil": {
"title": "Hello Brazil.",
"date": "2013-03-04"
}
}
私が理解していればfor article、すべての高レベルのオブジェクトが正しく取得され、 でタイトルarticle.titleまたは日付を取得できますarticle.date。しかし、何slugですか?Jade/HarpJs の定義済み変数ですか? もしそうなら、他にもありますか、それともコンセプトが間違っていましたか? このトピックに関する情報が見つかりませんでした。良い記事があれば、それを読んでいただければ幸いです。ありがとうございました。
@Brennan がコメントで示唆しているように、2 番目の引数はインデックスである可能性があります。変数の単純な置換と名前変更は、articleそれをslug証明しています。しかし、もう1つ問題があります。次の例を検討してください。
{
"hello-world": {
"title": "Hello World.",
"date": "2013-02-28",
"test": {
"testContent": "123"
}
},
"hello-brazil": {
"title": "Hello Brazil.",
"date": "2013-03-04"
}
}
for s, a in public.articles._data
a(href="/articles/#{ a }")
h2= s.title
h3= s.date
h3= a
- var obj = s.test
h3= obj
h3= obj.testContent
このコードは、コンパイル中にエラーになります。最後の行にコメントすると、うまくいきます。そして、最後の行をドキュメントのスニペットに置き換えることはできません:
each val, index in obj
h1=index + ': ' + val
入れ子配列や 2 次元配列はありませんか?