Less 用更少的/concat/autoprefixer/minifycss吞下sourcemap?
是否可以使用所有这些转换生成sourcemapLess 用更少的/concat/autoprefixer/minifycss吞下sourcemap?,less,concat,gulp,source-maps,autoprefixer,Less,Concat,Gulp,Source Maps,Autoprefixer,是否可以使用所有这些转换生成sourcemap gulp.task('styles', function() { return gulp.src(source.styles) .pipe(plumber()) .pipe(gulpif(/\.less$/, plumber().pipe(less({ strictMath: true, strictUnits: true, }))))
gulp.task('styles', function() {
return gulp.src(source.styles)
.pipe(plumber())
.pipe(gulpif(/\.less$/, plumber().pipe(less({
strictMath: true,
strictUnits: true,
}))))
.pipe(concat('bundle.css'))
.pipe(prefixer(['last 2 versions', '> 1%', 'ie 9'], {cascade: false}))
.pipe(minifyCss())
.pipe(gulp.dest('public/css'));
});
使用的图书馆:
我知道可以生成源地图,我认为gulp concat不支持它们,应该保留它们,并且缩小css/似乎没有提到源地图。我运气不好吗?今晚我遇到了同样的问题,我仍在努力寻找一个干净的解决方案。然而,我只是设法让一些东西起作用,所以我想我会分享: 注意:我既没有使用
gulpif
也没有使用minify
使用gulpsourcemaps
,因为gulpless
似乎没有源地图选项(至少目前是这样)
将gulp concat
替换为gulp concat sourcemap
,以保留sourcemap
Gulp sourcemaps(参见)目前不支持Gulp concat。
在修复之前,这里有一个修补版本:
由于Less的版本2,您可以为Less编译器使用插件。此外,gulp less允许您使用这些插件(编程),请参见 gulp less的文档描述了如何使用clean css和autoprefix插件。请注意,gulp minify css也在利用干净css的代码 另外,有关使用gulp-less和gulp sourcemaps创建sourcemaps的说明,请参见 因此,您应该能够使用:
var LessPluginCleanCSS = require("less-plugin-clean-css"),
cleancss = new LessPluginCleanCSS({advanced: true});
var LessPluginAutoPrefix = require('less-plugin-autoprefix'),
autoprefix= new LessPluginAutoPrefix({browsers: ["last 2 versions"]});
gulp.src('./less/**/*.less')
.pipe(sourcemaps.init())
.pipe(less({
plugins: [autoprefix, cleancss]
}))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/css'));
上面的内容应该生成Less源的自动重新定义和缩小的CSS,并将CSS sourcemaps写入到./public/CSS/maps中
另一方面,你可以考虑使用该软件可以运行许多后置处理器一次,见
几乎有;你在做任何类型的缩小吗?还没有,只为开发环境ftm做这个。任何提示请让我/我们知道!说得好,也许我也应该放弃dev的缩小步骤。我不确定我在生产中是否需要sourcemaps.tx,看起来现在支持gulp concat…感谢@memeLab让我们知道,我已经更新了答案。我发现在将CSS加载到chrome中时,maps文件没有指向正确的代码行?默认情况下,sourcemap中包含了较少的代码,另请参见includeContent
和sourceRoot
选项
var LessPluginCleanCSS = require("less-plugin-clean-css"),
cleancss = new LessPluginCleanCSS({advanced: true});
var LessPluginAutoPrefix = require('less-plugin-autoprefix'),
autoprefix= new LessPluginAutoPrefix({browsers: ["last 2 versions"]});
gulp.src('./less/**/*.less')
.pipe(sourcemaps.init())
.pipe(less({
plugins: [autoprefix, cleancss]
}))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/css'));