Gulp less 合并几个文件,让其他文件分开

标签 gulp less

说我有

main1.less
main2.less
main3.less
other1.less
other2.less
other3.less

我需要输出

main.css
other1.css
other2.css
other3.css

我愿意

gulp.task('less', function () {
    return gulp.src(['./Content/css/**/*.less'])
        .pipe(less({
            paths: [path.join(__dirname, 'less', 'includes')]
        }))
        .pipe(gulp.dest(paths.webroot + 'css'));
});

实际上它为一个 less 文件生成了一个 css...有没有一种方法可以将多个文件合并为一个,而让其他文件放在单独的文件中?

最佳答案

您可以使用 gulp-concat 来完成此操作将您想要的样式从一项单独的任务合并到一个文件中。

const gulp   = require('gulp4');
const less   = require('gulp-less');
const concat = require('gulp-concat');
const path   = require('path');
const config = {
  paths: [ path.join(__dirname, 'less', 'includes') ]
};

gulp.task('less:separate', () => gulp
  .src(path.join(__dirname, 'Content', 'css', '**', 'other*.less'))
  .pipe(less(config))
  .pipe(gulp.dest(paths.webroot + 'css')));

gulp.task('less:together', () => gulp
  .src(path.join(__dirname, 'Content', 'css', '**', 'main*.less'))
  .pipe(less(config))
  .pipe(concat('main.css')) // combine them into one file
  .pipe(gulp.dest(paths.webroot + 'css')));

gulp.task('less', gulp.parallel('less:separate', 'less:together'));

关于Gulp less 合并几个文件,让其他文件分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46118620/

相关文章:

Gulp 和 Bower 文件 : Get js-files for developing and for production

javascript - 如何从缩小的 CSS 文件创建一个回到原始 .less 文件的源映射?

css - LESS 文件在 Dreamweaver CC 上不起作用

css - Mixins:实现有困难

javascript - gulp 观察者和 promise 导致崩溃

laravel - Elixir 和 Gulp - 复制和连接

visual-studio-code - 用于 Visual Studio Code 的 LESS 格式化程序

css - Simples(LESS自动编译成CSS后弹窗)

npm - 浏览器同步 TypeError args.cb 不是函数

css - less css 中某个值的百分比