2015-12-27 23 views
9

मैंने index.html में निर्भरताओं को इंजेक्ट करने के लिए गल्प-इंजेक्शन सेट करने का प्रयास किया है। कार्य को बदलने के अलावा सबकुछ ठीक काम करता है। मैं निम्नलिखित तरीके से filepath के हिस्से की जगह की जरूरत है: /frontend/src/ ->/static/ मैं कोशिश की है इस तरह यह करने के लिए (कहीं से कॉपी-पेस्ट किया):गुलप-इंजेक्शन ट्रांसफॉर्म काम नहीं करता

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

को क्रियान्वित करने के बाद, मेरे पास है कंसोल में कुछ भी नहीं (मानक गल्प आउटपुट को छोड़कर), और परिणाम फ़ाइल में अन-रूपांतरित फ़ाइलपैथ दिखाई देता है। ऐसा लगता है कि मेरा कस्टम ट्रांसफॉर्म बस नहीं चलता है, और इसके बजाय डिफ़ॉल्ट ट्रांसफॉर्म काम करता है।

+2

अपने पूर्ण gulpfile या कार्य परिभाषा मदद कर सकता है, @qcz का जवाब अच्छा लग रहा है –

+0

हमें अपना पूरा गल्प कार्य दिखाएं – harishr

उत्तर

6

निम्नलिखित भी कई स्तरों (/*.js के बजाय /**/*.js) के साथ मेरे लिए काम कर रहा है: के रूप में इरादा

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 प्लगइन के बदलने समारोह काम करता है।

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

सुनिश्चित करने के लिए यह पार मंच (विंडोज, लिनक्स), path.normalize प्रयोग किया जाता है

में उदाहरण कोड की जाँच करें काम करता है - - घूंट कार्य के विन्यास इस प्रकार है देखकर https://github.com/pra85/gulp-inject-example

संबंधित मुद्दे