前提・実現したいこと
ejsのテンプレートエンジンにて、
gulpファイルを編集し、どこからでもJSONファイルのオブジェクトを呼び出せるようにしたいと考えています。
jsonファイルは今後増えていくので、ループ処理でJSONファイルを読み込み、
jsonDataというオブジェクトに追加していく、という考えのもと、コードを書いています。
data/**配下のjsonファイルを読み込みたいのですが、その記法が分からない状態です、、
ディレクトリ構造
src -data - aaa - aaa.json - bbb - bbb.json
発生している問題・エラーメッセージ
〜 is not defined Jsonファイルのオブジェクトの名前が〜に表記されれいるので、JSONファイルが読み込めておりません。
該当のソースコード
const ejs = require('gulp-ejs'); const fs = require('fs'); var paths = { srcDir: './src', dstDir: './dist', // data: [] の中の書き方が分からないです、、 data: ['./src/asset/data/**/*.json'] }; const jsonData = {json : {}}; function makeJson(done) { paths.data.forEach( path => { const jsonFile = JSON.parse(fs.readFileSync(path)); Object.assign(jsonData.json, jsonFile) done() }) } --ejsのcompileタスク-- function ejsCompile() { return gulp .src([paths.srcDir + '/**/*.ejs', '!' + paths.srcDir + '/**/_*.ejs', '!' + paths.srcDir + '/ejs/**/*.ejs']) .pipe(ejs(jsonData)) 以下省略 --タスク処理-- exports.dev = gulp.series( makeJson, 以下省略
補足情報(FW/ツールのバージョンなど)
gulp": "^4.0.2",
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/10 23:10
2021/06/12 11:11 編集
2021/06/12 12:27
2021/06/15 15:03
2021/06/15 15:32
2021/06/16 12:40
2021/06/16 12:48