質問編集履歴

1 初心者マークを付けました。

pic.wo.pics

pic.wo.pics score 20

2017/01/27 16:59  投稿

ejsは複数のjsonをpipeできないのでしょうか。
###前提・実現したいこと
よろしくお願いいたします。
ejs,gulpとも始めたばかりのjs初心者です。
静的HTMLページを大量に制作しようとしています。
gulpfile.js内で2つのjsonをejsファイルにpipeしたいと考えています。
###発生している問題・エラーメッセージ
実行時に後に記述したほうのjsonが、定義しているにも関わらず未定義扱いになってしまいます。
複数のjsonをpipeすることが可能なら正しい方法をご教示いただけますでしょうか。
```
【template.ejs】
>> 1| <% var items = jsonData1; %>
2| <div class="main">
jsonData1 is not defined
```
###該当のソースコード
```
【gulpfile.js】
gulp.src(tempFile1)
.pipe(ejs({
jsonData2: data2[j]
}))
.pipe(ejs({
jsonData1: data1[i]
}))
.pipe(rename(id + '.html'))
.pipe(gulp.dest('dist/'));
```
上記のようにgulpfile.js側でejs()を2つpipeすることはできないのでしょうか?
###試したこと
VisualStudioCodeのデバッグモードでgulpfile.jsのjsonData1にjsonの値が渡ってきているのは確認済みです。
jsonData2: data2[j]とjsonData1: data1[i]を逆にするとjsonData2でエラーが出るので、おそらく後にpipeしたejs()がうまく処理されていないのだろうと考えています。
よろしくお願いいたします。
  • JavaScript

    20348 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • JSON

    1453 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

  • Node.js

    2354 questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • gulp

    335 questions

    gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る