لا يمكن الحصول على جرعة أقل للتشغيل فقط في حالة تغيير الملف

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

  •  20-12-2019
  •  | 
  •  

سؤال

لا أستطيع أن أقلل من عدم معالجة كل شيء في كل مرة.لقد حاولت:

  1. تحديث نسختي من gulp
  2. باستخدام بلع-تغير
  3. باستخدام بلع-أحدث

إنه يعمل مع 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));
});
هل كانت مفيدة؟

المحلول

في الواقع، بيان نيكيتا غير صحيح، إنه يعمل وهذا هو الغرض منه، فقط تأكد من إعداده بشكل صحيح.في حالتي لدي هذا:

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') );
});

لي gulp.src يشير إلى المجلد الذي لدي فيه ملفات LESS الرئيسية (الملفات التي تستورد ملفات LESS أخرى) وأريد تجميعها جميعًا في المجلد الوجهة.

في .pipe(changed()) يجب أن يكون لديك نفس الهدف الذي لديك فيه .pipe(gulp.dest()).

يمكنك تحديد الامتداد المراد مقارنته لجعله أسرع ({extension: '.css'}) في pipe(changed()).

ربما تحتاج إلى التحقق مرة أخرى من بياناتك paths: [path.join(__dirname, 'less', 'includes')].في حالتي، قمت للتو بوضع المجلد الجذر لجميع ملفاتي الأقل.بعض ملفاتي LESS موجودة src/less/globals وآخرون في src/less/common.الملفات التي أريد تجميعها موجودة src/less/pages.لذلك اعتدت src/less/pages/*.LESS في gulp.src() و src/less/ في أقل pipe(less({paths: []})).

نصائح أخرى

يمكنك استخدام حزمة أقل تغيرات giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top