Sei*_*Sys 5 sass protocol-relative gulp gulp-sass gulp-clean-css
当我在我的.scss文件中使用以下代码时
@import url('//fonts.googleapis.com/css?family=SomeFont:400,700,400italic');
Run Code Online (Sandbox Code Playgroud)
我使用的SASS解析器(nodejs gulp-sass)愉快地从所述位置下载文件,并将其作为纯文本包含在编译输出中.
这是我的Gulpfile:
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'));
});
Run Code Online (Sandbox Code Playgroud)
问题是,我的网站使用HTTPS,并且当编译器请求文件时,它使用提取文件HTTP,因此返回的响应中的URL也HTTP导致加载控制台的警告,而字体不会加载.
有什么方法可以让编译器单独留下那一行吗?
Sei*_*Sys 13
问题不在于gulp-sass它本身,而是在gulp-minify-css那里压缩了渲染的CSS文件.解决方案是传递{processImport: false}给minify:
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'));
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |