node.js - isu async gulp.task
某草草
某草草 2017-05-16 13:21:33
0
2
844

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

某草草
某草草

membalas semua(2)
左手右手慢动作

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.

小葫芦

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'
]);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan