cari

Rumah  >  Soal Jawab  >  teks badan

node.js - isu async gulp.task

Bagaimana untuk memahami ayat ini: Adakah tugas anda berjalan sebelum kebergantungan selesai Pastikan tugas kebergantungan anda menggunakan petua async run dengan betul: terima panggilan balik atau kembalikan janji atau strim acara.

gulpjs terjemahan tapak web Cina: Adakah tugas anda berjalan sebelum tugasan pra-bergantung ini selesai? Sila pastikan bahawa tugasan dalam senarai tugas yang anda bergantung pada menggunakan kaedah pelaksanaan tak segerak yang betul: gunakan panggilan balik atau kembalikan janji atau strim.

Saya agak keliru. Jika panggilan balik tidak digunakan atau janji/strim dikembalikan, maka tugas ini bukan tugas tak segerak?

Terdapat juga gulp.task('mytask',['beforemytask']), yang bermaksud beforemytask dilaksanakan sebelum mytask dilaksanakan, yang agak segerak, tetapi adakah beforemytask perlu menggunakan kaedah asynchronous yang betul?

Saya keliru, tolong minta Tuhan untuk menjelaskan kekeliruan saya

某草草某草草2749 hari yang lalu834

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-05-16 13:23:33

    Jika panggilan balik tidak digunakan atau janji/strim dikembalikan, maka tugas ini bukan tugas tak segerak?

    Ya. Pelaksanaan jujukan tugas Gulp bergantung pada Orchestrator, yang akan menentukan sama ada fungsi mempunyai parameter (panggilan balik) dan nilai pulangan (janji/strim) untuk menentukan sama ada ia tidak segerak.

    Tetapi beforemytask perlu menggunakan cara tak segerak yang betul?

    Anda perlu mengesan penghujung beforemytask dan menggunakan kaedah di atas untuk memastikan mytask dilaksanakan kemudian.

    balas
    0
  • 高洛峰

    高洛峰2017-05-16 13:23:33

    Anda tidak tahu bila tugasan ini akan selesai nanti. Setakat tugasan ini, pemprosesan di sini adalah tidak segerak
    Penyegerakan adalah seperti yang anda katakan, satu tugasan mesti menunggu untuk Tugasan lain hanya diproses selepas ia dilaksanakan Kadangkala terdapat kebergantungan antara tugasan,

    Ia mesti diproses mengikut hubungan kebergantungan Saya menggunakan penyegerakan untuk memahaminya di sini saya rasa tiada masalah ini adalah untuk rujukan sahaja

    Ini contohnya

    var gulp = require('gulp'); 
    var minifycss = require('gulp-minify-css'); //压缩css
    var uglify = require('gulp-uglify'); //压缩js
    var del = require('del'); // 删除目录
    
    gulp.task('clean',function() {
        return del(['dist/**']);
    });
    //压缩 css 
    gulp.task('minify-css',['clean'], function() {
        return  gulp.src('./public/**/*.css')
                .pipe(minifycss())
                .pipe(gulp.dest('./dist'));
    });
    
    //压缩 js 
    gulp.task('minify-js',['clean'], function() {
        return gulp.src('./public/**/*.js')
                .pipe(uglify())
                .pipe(gulp.dest('./dist'));
    });
    // 每一次跑任务 需要删除 dist 目录, 然后开始跑  minify-css 和 minify-js 
    //执行任务 这里 minify-css 和 minify-js 就依赖前面 clean 
    // 也就是说必须等  clean 这个任务跑完,minify-css 和 minify-js 才能执行
    // 
    // default 是默认执行的任务
    gulp.task('default',[
        'clean','minify-css','minify-js'
    ]);

    balas
    0
  • Batalbalas