2015-06-27 62 views
2

編輯:如果我只有一個文件在任務中,問題就會消失,並且吞噬平坦。也就是說,如果我的gulp.src只調用一個文件,gulp-flatten實際上會刪除修改過的路徑。我需要能夠合併我的供應商CSS。Gulp正在修改我的font-face url路徑

gulp.task('libCSS2', function() { 
    gulp.src(vendor + '/font-awesome/css/font-awesome.min.css') 
     .pipe(flatten()) 
     .pipe(concatCss('vendor.css')) 
     .pipe(gulp.dest(dest + '/css')); 
}); 

構建當,咕嘟咕嘟正在改變這種(從CSS源文件):基本上其添加

src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') 

此(CSS構建文件)

src: url("../../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.3.0") 

新的路徑,相對於舊的fontawesome地點,我想擺脫。它爲 URL:so bootstrap網址也搞砸了。我相信這是一種默認的吞嚥方式。 這是我的任務,因爲你可以看到我試着吞氣,壓平插件,但沒有成功

/* ===== CSS LIB START ===== */ 
gulp.task('libCSS', function() { 
    // Define libraries locations 
    var bootstrapCss = vendor + '/bootstrap/dist/css/bootstrap.min.css'; 
    var slickCss = vendor + '/slick.js/slick/slick.css'; 
    var slickCss2 = vendor + '/slick.js/slick/slick-theme.css'; 
    var materializeCss = vendor + '/materialize/dist/css/materialize.min.css'; 
    var fontawesomeCSS = vendor + '/font-awesome/css/font-awesome.min.css'; 

    // Merge libraries 
    return gulp.src([bootstrapCss, slickCss, slickCss2, materializeCss, fontawesomeCSS]) 
     // Concatenate in a single file 
     .pipe(concatCss('vendor.css')) 
     .pipe(flatten('')) 
     .pipe(gulp.dest(dest + '/css')); 
}); 

這裏是我的文件夾組織

app/ 
----vendor/ 
--------boostrap/ 
--------slick.js/ 
--------materialize/ 
--------font-awesome/ 
------------css/ 
----------------font-awesome.min.css // font-awesome goes from there 
build/ 
----css/ 
--------vendor.css // to there 

感謝

回答

5

concateCss是罪魁禍首

.pipe(concatCss('vendor.css', {rebaseUrls:false})) 

解決問題