5

アプリフォルダーにLESSファイルでいっぱいのフォルダーがあります。2 つのメイン ファイルといくつかのインクルードがあり、そのすべてに "_" のプレフィックスが付いています。これらの 2 つのファイルとそのソースマップのみをビルド フォルダーに出力したいのですが、もちろん、デフォルトのセットアップではすべての少ないファイルが出力されます。

var gutil = require('gulp-util');
var changed = require('gulp-changed');
var path = require('path');
var less = require('gulp-less-sourcemap');

gulp.task('less', function() {
  gulp.src('./app/less/*.less')
     .pipe(less({
        generateSourceMap: true, // default true
        paths: [path.join(__dirname, 'less', 'includes')]
    }))
    .pipe(gulp.dest('./build/css'));
});

インクルードをサブディレクトリに置くこともできると思いますが、編集する必要がなければ、LESS を編集する必要はありません。

アップデート

単一のファイルを指定する方法は知っていますgulp.srcが、それぞれ独自のマップを持つ 2 つの CSS ファイルにする必要がある 2 つの LESS ファイルがあります。

4

1 に答える 1

5

解決策 1:

を使用しevent-streamます。

gulp.task('less', function(cb) {
  var lessc = less({
    paths: [path.join(__dirname, 'less', 'includes')]
  });
  return es.merge(
    gulp.src('app/less/main.less')
      .pipe(lessc)
      .pipe(gulp.dest('build/css')),
    gulp.src('app/less/theme.less')
      .pipe(lessc)
      .pipe(gulp.dest('build/css'))
  );
});

解決策 2:

2 つのタスクを作成します。

gulp.task('less', ['less:main', 'less:theme']);
gulp.task('less:main', function() {
  return gulp.src('./app/less/main.less')
    .pipe(less({ paths: [path.join(__dirname, 'less', 'includes')] }))
    .pipe(gulp.dest('./build/css'));
});
gulp.task('less:theme', function() {
  return gulp.src('./app/less/theme.less')
    .pipe(less({ paths: [path.join(__dirname, 'less', 'includes')] }))
    .pipe(gulp.dest('./build/css'));
});
于 2014-05-12T16:08:17.840 に答える