ファイルが変更された場合にのみ実行されるようにGulp-Lessを取得できません

StackOverflow https://stackoverflow.com//questions/24005502

  •  20-12-2019
  •  | 
  •  

質問

毎回すべてを処理しないようにGulp-Lessを取得できません。私は試しました:

  1. GULP
  2. の私のバージョンを更新する
  3. GULP変更を使って
  4. GULP-NEWERを使用する
  5. GULP-NGMINで動作しますが、GULP-LESS

    ではありません。

    だからこのプロセスtest.jsを変更した場合にのみtest.js:

    var SRC = 'test.js';
    var DEST = 'dist';
    
    gulp.task('test', function () {
        return gulp.src(SRC)
            .pipe(changed(DEST))
            // ngmin will only get the files that
            // changed since the last time it was run
            .pipe(ngmin())
            .pipe(gulp.dest(DEST));
    });
    
    .

    しかし私がこのタスクを実行するたびに、それはより少ない

    を計算します

    ここで何が悪いの?

    var SRC = 'test.less';
    var DEST = 'dist';
    
    gulp.task('test', function () {
        return gulp.src(SRC)
            .pipe(changed(DEST))
            .pipe(less({
                    paths: [path.join(__dirname, 'less', 'includes')]
                }))
            .pipe(gulp.dest(DEST));
    });
    
    .

役に立ちましたか?

解決

実際にNikitaの声明は偽りです、それは仕事をしてそれが目的で、あなたが正しくそれを設定していることを確認してください。私の場合私はこれを持っています:

var gulp         = require('gulp');
var less         = require('gulp-less');
var changed      = require('gulp-changed');

gulp.task('less', function () 
{  
    gulp.src('./src/less/pages/*.less')
        .pipe(changed( 'outputDir/css', {extension: '.css'}))
        .pipe(less({
            paths: [ './src/less/' ]
        }))
        .pipe(gulp.dest( 'outputDir/css') );
});
.

My gulp.srcは、メインのほどのファイル(他のファイルをインポートするファイル)を持つフォルダを指しており、それらすべてを宛先フォルダにコンパイルしたいです。

.pipe(changed()) .pipe(gulp.dest())と同じターゲットを持つ必要があります。

{extension: '.css'}の迅速化(pipe(changed()))にするために比較する拡張子を指定できます。

おそらくあなたはpaths: [path.join(__dirname, 'less', 'includes')]を2回再確認する必要があります。私の場合は、私のすべてのファイルのルートフォルダをそこに置いたばかりです。私の少ないファイルのいくつかはsrc/less/globalsなどのsrc/less/commonにあります。コンパイルしたいファイルはsrc/less/pagesです。そのため、src/less/pages/*.LESSおよびgulp.src()src/less/を使用しています。

他のヒント

gulp-less-shown パッケージを使うことができます、

@importを考えると、ファイルコンパイル階層が少なくなることが確認されます。
var gulp = require('gulp');
var lessChanged = require('gulp-less-changed');
var rename = require('rename');
var less = require('gulp-less');

var outputPat = "dest";

gulp.task('less', () => {
    return gulp.src('src/*.less')
        .pipe(lessChanged({
            getOutputFileName: file => rename(file, { dirname: outputPath, extname: '.css' })
        }))
        .pipe(less())
        .pipe(gulp.dest(outputPath));
});
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top