2015-08-14 13 views
5

जब मैं अपने .scss फ़ाइल में निम्न कोड का उपयोगघूंट-सास फ़ाइल में गूगल फ़ॉन्ट्स सीएसएस संकलित, टूट जाता है प्रोटोकॉल-संबंधी लिंक

@import url('//fonts.googleapis.com/css?family=SomeFont:400,700,400italic'); 

एस.ए.एस.एस. पार्सर मैं का उपयोग करें (gulp-sass NodeJS) खुशी से डाउनलोड करता है कहा गया स्थान से फ़ाइल और इसे संकलित आउटपुट में सादा पाठ के रूप में शामिल किया गया है।

var gulp = require('gulp'), 
    sourcemaps = require('gulp-sourcemaps'), 
    autoprefixer = require('gulp-autoprefixer'), 
    minify = require('gulp-minify-css'), 
    rename = require('gulp-rename'), 
    sass = require('gulp-sass'), 
    uglify = require('gulp-uglify'), 
    plumber = require('gulp-plumber'); 

gulp.task('sass', function() { 
    gulp.src('www/sass/*.scss') 
     .pipe(plumber(function(err){ 
      console.log(err); 
      this.emit('end'); 
     })) 
     .pipe(sourcemaps.init()) 
      .pipe(sass({ 
       outputStyle: 'expanded', 
       errLogToConsole: true, 
      })) 
      .pipe(autoprefixer('last 2 version')) 
      .pipe(rename({suffix: '.min' })) 
      .pipe(minify()) 
     .pipe(sourcemaps.write('.')) 
     .pipe(gulp.dest('www/css')); 
}); 

समस्या है, मेरी साइट HTTPS का उपयोग करता है, और जब फ़ाइल संकलक द्वारा अनुरोध किया जाता है, यह HTTP का उपयोग कर फ़ाइल को हासिल करेगा और के रूप में वापस जवाब में जैसे URL भी कर रहे हैं:

यहाँ मेरी Gulpfile है HTTP जिसके परिणामस्वरूप कंसोल भरने वाली चेतावनियों का भार होता है, जबकि फोंट लोड नहीं होते हैं।

क्या कोई तरीका है कि मैं संकलक को अकेले उस पंक्ति को छोड़ने के लिए कह सकता हूं?

+0

पुन: उत्पन्न नहीं कर सकता है, आपकी समस्या सास के साथ नहीं है: http://sassmeister.com/gist/7651112d36e67a3cee8d – cimmanon

उत्तर

13

यह समस्या gulp-sass के साथ नहीं थी, लेकिन gulp-minify-css के साथ जो प्रस्तुत की गई सीएसएस फ़ाइलों का संपीड़न था।

gulp.task('sass', function() { 
    gulp.src('www/sass/*.scss') 
     .pipe(plumber(function(err){ 
      console.log(err); 
      this.emit('end'); 
     })) 
     .pipe(sourcemaps.init()) 
      .pipe(sass({ 
       outputStyle: 'expanded', 
       errLogToConsole: true, 
      })) 
      .pipe(autoprefixer('last 2 version')) 
      .pipe(rename({suffix: '.min' })) 

      // Here 
      .pipe(minify({processImport: false})) 

     .pipe(sourcemaps.write('.')) 
     .pipe(gulp.dest('www/css')); 
}); 
+1

मैंने इस समाधान के कई अन्य विकल्पों का प्रयास किया, क्योंकि मैं चाहता था कि फ़ॉन्ट सीएसएस मेरी मिनी सीएसएस फ़ाइल में इनलाइन हो। मेरे पास एक और वेबसाइट भी थी जो बिना समय के आयात को स्वीकार करती थी। हालांकि, यह एकमात्र समाधान था जो मेरे एक मामले के लिए काम करता था। बहुत अजीब, लेकिन फिर भी यह था। यह जानना अच्छा लगेगा कि क्यों कुछ Google फ़ॉन्ट आयात टाइमआउट नहीं करते हैं और अन्य लोग करते हैं। – KoldBane

0

Protocol relative URLs are now discouraged: समाधान {processImport: false}minify को पारित करने के लिए है। मैं यूआरएल को HTTPS पर सेट करने और इसे इस तरह से छोड़ने का सुझाव दूंगा।

+0

शायद लेकिन यह प्रश्न में समस्या को ठीक नहीं करता है। – geoidesic

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