簡體   English   中英

Gulp-inject說“沒有什么可以注入index.html”

[英]Gulp-inject says “Nothing to inject into index.html”

我正在嘗試在索引中注入一些文件,所有文件都連接在一起並縮小為.tmp文件夾,如下所示:

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'));
});

有趣的是,注入主要涼亭文件的第一個管道工作完美,但它不會發生在以下兩個。

另外,僅僅是為了獲取信息,'plugins'是一個需要我的插件的變量。

對這個問題有什么看法嗎?

您需要在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'))
});

否則, inject-deps將不會等待prep-js在它運行之前完成,這意味着連接和uglified JS文件將不會在.tmp/page/js

Gulp文檔的相關部分:

注意:默認情況下,任務以最大並發性運行 - 例如,它立即啟動所有任務並且不等待任何操作。 如果要創建一個按特定順序運行任務的系列,則需要執行以下兩項操作:

  • 在任務完成時給它一個暗示告訴它,
  • 並給它一個暗示,任務取決於另一個任務的完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM