2015-12-27 21 views
9

Index.html'ye bağımlılıkları enjekte etmek için gulp-inject kurmaya çalıştım. Her şey dönüşüm işlevi dışında iyi çalışır. Ben şu şekilde filepath kısmını değiştirmeniz gerekiyor: /frontend/src/- Denedim>/static/ (yerden kopyalanıp yapıştırılan) böyle yapmak için:Gulp-inject dönüşümü çalışmıyor

transform : function (filePath, file, i, length) { 
       var newPath = filePath.replace('/frontend/src', ''); 
       console.log('inject script = '+ newPath); 
       return '<script src="/static/' + newPath + '"></script>'; 
      } 

yürüttükten sonra, var konsolda hiçbir şey (standart gulp çıkışı hariç) ve dönüştürülmemiş dosya yolu sonuç dosyasında görünür. Benim özel dönüşümüm sadece çalışmaz gibi görünüyor ve varsayılan dönüşüm yerine çalışır.

+2

senin tam gulpfile veya görev tanımı yardımcı olabilir, @qcz gelen cevap iyi görünüyor –

+0

bize tam yontu görevi göster – harishr

cevap

6

şu bile çoklu seviyelerde (yerine /*.js ait /**/*.js) ile benim için çalışıyor: amaçlandığı gibi

gulp.task('inject', function() { 
    gulp.src('./test.html') 
     .pipe(inject(
      gulp.src(['./Content/js/*.js'], {read: false }), 
      { 
       transform: function (filePath, file, i, length) { 
        var newPath = filePath.replace('/Content/js/', ''); 
        console.log('inject script = '+ newPath); 
        return '<script src="/static/' + newPath + '"></script>'; 
       } 
      }) 
     ) 
     .pipe(gulp.dest('./')); 
}); 
1

gulp-inject eklentinin dönüşümü fonksiyon çalışır.

gulp.src(path.normalize('./app/index.html')) 
    .pipe(inject(
     gulp.src([path.normalize('./frontend/src/*.js')], {read: false}), { 
      transform : function (filePath, file, i, length) { 
       var newPath = filePath.replace(path.normalize('/frontend/src'), ''); 
       console.log('inject script = '+ newPath); 
       return '<script src="/static' + newPath + '"></script>'; 
      } 
     } 
    )) 
    .pipe(gulp.dest('./build')); 

o

de örnek kodunu kontrol kullanılır path.normalize çapraz platform (Windows, Linux), çalıştığından emin olmak için - - aşağıdaki gibi yudum görevin yapılandırması görerek https://github.com/pra85/gulp-inject-example