2015-06-14 19 views
5

मैं अपनी कम फ़ाइलों में आईई 8 मोड टॉगल करना चाहता हूं और गुलप में फ़ाइल पीढ़ी को स्वचालित करना चाहता हूं।क्या गुलप कम चर बदल सकता है?

यह वह जगह है जहां मैं क्या में बंद कर दिया घूंट-कम (ऋण एक सामान का गुच्छा) पारित करने के लिए:

var IE = true; 

var LESSConfig = { 
     plugins: [ ... ], 
     paths: LESSpath, 
     ie8compat: IE, //may as well toggle this 
     // Set in variables.less, @ie:false; - used in mixin & CSS guards 
     // many variations tried 
     // globalVars: [ { "ie":IE } ], 
     modifyVars:{ "ie":IE } 
    }; 

... 

.pipe(less (LESSConfig)) 

चर संशोधन Gulp में समर्थित नहीं है?

यदि मैं कर सकता हूं तो मैं एट अल का उपयोग करके बचाना चाहता हूं। मैं बिल्ड सिस्टम को स्रोत फ़ाइलों से काफी सारणीबद्ध रखना चाहता हूं।

उत्तर

1

modifyVars मेरे लिए अब काम कर रहा है:

... 

    var LESSConfig = { 
     paths: paths.LESSImportPaths, 
     plugins: [ 
      LESSGroupMediaQueries, 
      LESSautoprefix 
     ], 
     modifyVars: { 
      ie: 'false' 
     } 
    }; 

    var LESSConfigIE = { 
     paths: paths.LESSImportPaths, 
     modifyVars: { 
      ie: 'true' 
     } 
    }; 

    function processLESS (src, IE, dest){ 
     return gulp.src(src) 
     .pipe($.if(IE, $.less(LESSConfigIE), $.less(LESSConfig))) 
     .pipe($.if(IE, $.rename(function(path) { path.basename += "-ie"; }))) 
     .pipe(gulp.dest(dest)) 
    } 

    // build base.css files 
    gulp.task('base', function() { 
     return processLESS(paths.Base + '/*.less', false, paths.dest); 
    }); 

    // build base-ie.css files for IE 
    gulp.task('baseIE', function() { 
     return processLESS(paths.Base + '/*.less', true, paths.dest); 
    }); 
+0

क्यों आप के लिए यह काम करता है? यह आपके लिए क्यों काम करता है लेकिन मुझे नहीं? – Okonomiyaki3000

+0

स्पष्ट करने के लिए, यह सुविधा टूटी हुई प्रतीत होती है। मेरा आउटपुट इंगित करता है कि 'gulp-less' कम फ़ाइल __first__ को संसाधित करता है और __then__ नए चर जोड़ता है। ताकि आप जो अंत कर रहे हैं वह एक सीएसएस फ़ाइल है जो अंत में संलग्न कम चर के साथ है। जाहिर है, यह काम नहीं करता है। – Okonomiyaki3000

+0

देरी के बारे में क्षमा करें। यह सुनिश्चित नहीं है कि इसके अलावा क्या कहना है इसके अलावा मेरे लिए काम करना जारी है। मैं नवीनतम संस्करणों पर हूं। – Lance

1

जब से मैं नहीं मिल सका इस gulp-less के साथ काम करने और यह मेरे लिए स्पष्ट हो गया है कि globalVars और modifyVars के आवेदन दोनों टूट रहे हैं, मैं एक के साथ आया था अलग समाधान

gulp-less प्रक्रियाओं से पहले फ़ाइल में अपने चर लिखने के लिए आप gulp-append-prepend का उपयोग कर सकते हैं। थोड़ा कम सुरुचिपूर्ण लेकिन, प्लस तरफ, यह वास्तव में काम करता है।

कुछ इस तरह:

gulp.src('main.less') 
    .pipe(gap.prependText('@some-global-var: "foo";')) 
    .pipe(gap.appendText('@some-modify-var: "bar";')) 
    .pipe(less()) 
    .pipe(gulp.dest('./dest/')); 
संबंधित मुद्दे