【发布时间】:2015-06-28 16:35:57
【问题描述】:
编辑: 如果我在任务中只有一个文件,使用 gulp-flatten,问题就会消失。也就是说,如果我的 gulp.src 只调用一个文件,gulp-flatten 实际上会删除修改后的路径。不过,我需要能够合并我的供应商 css。
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'));
});
在构建时,Gulp 正在改变它(来自 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 位置,我想摆脱它。它对 every URL 执行此操作:因此引导 URL 也搞砸了。我相信这是默认的 gulp 功能。 这是我的任务,如您所见,我尝试了 gulp-flatten 插件但没有成功
/* ===== 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
谢谢
【问题讨论】:
标签: javascript node.js gulp