2017-07-09 9 views
0

YAMLファイルからJSONファイルを作成するgulpタスクがあります。このJSONファイルを別のタスクで使用したいと思います。しかし、このJSONファイルを2番目のタスクに含めると、Error: Cannot find module './public/index.json'と表示されます。ファイルが正常に生成されていることがわかります.2回目のgulpを実行すると、エラーは返されません。なぜこれがそうであり、最初の実行ですべてがうまく動作するように修正することができますか?Gulp - 新しく作成されたファイルをタスクに含める方法

var yaml = require('gulp-yaml'); 

gulp.task('GenerateJSON', function() { 
    gulp.src("public/index.yaml") 
    .pipe(yaml()) 
    .pipe(gulp.dest('public')) 
}); 

gulp.task('GenerateIndex', function() { 
    var foo = require('./public/index.json'); 
    ... 
}); 

そして、はい、私はどちらか助けていない、run-sequenceプラグインを使用しています:ここで

は、コードがどのように見えるかです。どんな助けもありがたい。

+0

'Index'タスクをgulp.task( 'GenerateIndex'、['G nereateJSON']、function()などのJSONタスクに依存させ、GenerateIndexを呼び出すだけで同じ結果を得ますか? – Mark

+0

@ Markはい、私はすでにそれを試して、それは動作していません:( –

+0

あなたはvar fileContent = fs.readFileSync( "./ public/index.jsong"、 "utf8");のようなものを使用できますか? – Mark

答えて

0

私は問題を理解したと思います。 GenerateJSONは正常に終了しませんでした。

追加すると、返信文が問題を解決しました。

+0

返信文を追加するために元の投稿が編集されましたか?編集を示していますか? – Mark

+0

@マーク非常に申し訳ありません。イオンは、私がプロジェクトで使用した実際のコードとは違っています。すなわち、2つの関数を1つに結合し(GenerateJSON)、2つ目の関数がreturn文を逃した。 SpEcHiDeは同じプロジェクトで私と一緒に仕事をしているので、それを見つけることができました。もう一度謝ります。 –

+0

他人を助けるように質問を編集すべきだと思います。 –

関連する問題