Gulp-inject说"什么都没注入index.html"

时间:2016-02-12 14:19:50

标签: javascript dependency-injection gulp gulp-inject

我试图在索引中注入一些文件,所有文件都连接在一起并缩小为.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'));
});

有趣的是,注入主要凉亭文件的第一个管道工作得很好,但它不会发生在以下两个。

另外,仅供参考,'插件'是一个需要我的插件的变量。

关于这个问题的任何想法?

1 个答案:

答案 0 :(得分:3)

您需要在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将不会等待.tmp/page/js在运行之前完成,这意味着连接的和已解决的JS文件将不在wp search-replace "somewebsite.com" "new_website.com"中。

https://github.com/baleen/migrations的相关部分:

  

注意:默认情况下,任务以最大并发性运行 - 例如它立即启动所有任务并等待一切。如果要创建一个任务以特定顺序运行的系列,您需要做两件事:

     
      
  • 在任务完成时给它一个提示,告诉它
  •   
  • 并提示任务取决于另一个任务的完成情况。
  •