2016-02-12 14 views
6

、それらの連結との.tmpフォルダに縮小さのすべてを「何もindex.htmlをに注入しないように」と言う:ガルプ-注入は以下のように、私は私のインデックスにいくつかのファイルを注入しようとしている

gulp.task('prep-js',['clean'], function(){ 
    var jspath = './src/page/**/*.js'; 
    var treatJs = gulp.src(jspath) 
     .pipe(plugins.concat('scripts.js')) 
     .pipe(plugins.uglify()) 
     .pipe(gulp.dest('.tmp/page/js')) 
}); 

しかし、私が注入作業を実行すると、「index.htmlに注入するものはありません」と表示されます。ここでは、コードです:

gulp.task('inject-deps', ['prep-css', 'prep-js'], function(){ 

    //select main bower files 
    var bowerDep = gulp.src(plugins.mainBowerFiles(), {read: false}); 

    //inject files 
    return gulp.src('./src/page/index.html') 
      .pipe(plugins.inject(bowerDep, {relative: true, name:'bower'})) 
      .pipe(plugins.inject(gulp.src('.tmp/page/js/*.js'), {name:'frontjs'})) 
      .pipe(plugins.inject(gulp.src('.tmp/page/css/*.css'), {name:'frontcss'})) 
      .pipe(gulp.dest('.tmp/page')); 
}); 

興味深いのは、メインバウアーファイルを注入する最初のパイプは完璧に動作しますが、それは次の二つに発生しません。

はまた、単に情報のため、「プラグイン」私のプラグインを必要とされる変数です。

この問題の任意のアイデア?

答えて

3

あなたprep-jsタスクでストリームを返す必要があります。そうしないとinject-depsが連結してuglified JSファイルがまだ.tmp/page/jsになりませんつまり、それが実行される前に終了するprep-jsを待ちません

gulp.task('prep-js',['clean'], function(){ 
    var jspath = './src/page/**/*.js'; 
    return gulp.src(jspath) 
     .pipe(plugins.concat('scripts.js')) 
     .pipe(plugins.uglify()) 
     .pipe(gulp.dest('.tmp/page/js')) 
}); 

Gulp documentation

関連部分:

注:デフォルトでは、タスクが最大同時実行して実行します - 例えばすべてのタスクを一度に起動し、何も待機しません。 、タスクが実行されたときに

  • はそれにそれを伝えるためにヒントを与える
  • を、それ与える:あなたはタスクが特定の順序で実行するシリーズを作成したい場合は、2つのことを行う必要がありますタスクは別のタスクの完了に依存することを示唆しています。
+0

ありがとう@svenschoenung!しかし、['prep-css'、 'prep-js']のような依存するタスクを指定するとまだ完了していませんか?私は、ドキュメントから引用箇条書きのあなたが必要と同時に実行からタスクを防止する –

+0

いや、**両方の**。あなたは、第二の1( 'との依存関係をほのめかし[「予備校-CSS」、「準備-jsのを」]')持っていますが、最初の(私は太字1)を逃しています。 –

+0

だから、コールバックを使う必要があるのですよね? –