lum*_*mio 6 gulp gulp-less gulp-sourcemaps
我正在尝试执行以下操作:
之后我尝试在另一个文件夹中做其他事情
看起来像这样:
gulp.task('styles', function() {
var streamCSS = gulp.src(sources.css)
.pipe(sourcemaps.init())
.pipe(concat('vendor.css'))
.pipe(cmq())
.pipe(minify({ keepSpecialComments: '*' }))
.pipe(sourcemaps.write());
var streamLESS = gulp.src(sources.less)
.pipe(plumber({ errorHandler: errorHandler }))
.pipe(sourcemaps.init())
.pipe(less())
.on('error', swallowError)
.pipe(cmq())
.pipe(minify({ keepSpecialComments: '*' }))
.pipe(sourcemaps.write())
.pipe(prefix("last 2 versions", "> 1%", "ios >= 6", { map: true }))
.on('error', swallowError);
return es.merge(streamCSS, streamLESS)
.pipe(plumber({ errorHandler: errorHandler }))
.pipe(concat('main.css'))
.pipe(gulp.dest(destinations.css))
.pipe(connect.reload());
});
Run Code Online (Sandbox Code Playgroud)
我遇到的唯一问题是生成的源映射是错误的,并且始终引用错误的LESS文件.
我使用以下库来实现此目的:
我知道如果我省略供应商的东西它会起作用,但我想只有一个结果样式表.
感谢您的一切建议!
您可以在调用 sourcemap init 函数之前尝试合并流吗?
我还没有机会测试以下代码(省略了许多要求),但您可以有一个想法:
var filter = require('gulp-filter');
var lessFilter = filter('**/*.less');
gulp.task('styles', function() {
return gulp.src([sources.css, sources.less])
.pipe(sourcemaps.init())
.pipe(lessFilter)
.pipe(less())
.pipe(filter.restore())
.pipe(minify({ keepSpecialComments: '*' }))
.pipe(concat('main.css'))
.pipe(sourcemaps.write())
.pipe(gulp.dest(destinations.css))
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
701 次 |
| 最近记录: |