Cara menyesuaikan tugas kasar
Terkadang kita perlu menulis beberapa tugas mendengus kita sendiri, berikut adalah contoh spesifik
1. Persiapan
1. Buat direktori baru G1
2. Buat paket baru.json dan letakkan di G1
3. Buat gruntfile.js baru dan masukkan ke dalam g1
package.json
Salinan kode adalah sebagai berikut:
{
"Nama": "G1",
"Versi": "0.1.0",
"Penulis": "@snandy",
"beranda": "http://www.g1.com",
"DevDependencies": {
"Grunt": "~ 0.4.0"
}
}
4. Masukkan G1 by CD, instal Instal Paket Grunt NPM
Seluruh struktur direktori adalah sebagai berikut
Gruntfile.js untuk sementara kosong.
2. Buat tugas termudah
Grunt.RegisterTask (TaskName, [Deskripsi,] Taskfunction)
Nama Tugas Taskname, Gunakan Grunt + TaskName di baris perintah
Deskripsi Tugas
Implementasi Tugas Fungsi Tugas
Isi kode di Gruntfile.js
Salinan kode adalah sebagai berikut:
module.exports = function (grunt) {
Grunt.RegisterTask ('myTask', 'demonstrasi tugas paling sederhana, mencetak output yang berbeda sesuai dengan parameter.', Fungsi (arg1, arg2) {
if (arguments.length === 0) {
grunt.log.writeln ('Tugas' + this.name + ", tidak ada parameter yang dilewati");
} lain if (arguments.length === 1) {
grunt.log.writeln ('Tugas' + this.name + ", ada parameter yang" + arg1);
} kalau tidak {
grunt.log.writeln ('Tugas' + this.name + ", ada dua parameter:" + arg1 + "," + arg2);
}
});
};
Tugas "MyTask" telah terdaftar untuk mengimplementasikan implementasi paling sederhana dari berbagai cetakan sesuai dengan parameter yang diteruskan. Kita perlu memasukkan baris perintah sesuai dengan hasil yang berjalan.
Masukkan direktori G1 dan masukkan Grunt MyTask
Masukkan Grunt MyTask: Snandy
Tambahkan usus besar ke nama tugas untuk lulus argumen
Masukkan Grunt MyTask: Snandy: Backus
Interval usus besar dapat melewati beberapa parameter
3. Buat beberapa tugas sekaligus
Grunt.RegisterMultitask (TaskName, [Deskripsi,] Taskfunction)
Anda dapat melihat bahwa parameternya sama dan nama metode berbeda. Tetapi metode penggunaannya berbeda, Anda perlu menginisialisasi konfigurasi terlebih dahulu, gruntfile.js adalah sebagai berikut
Salinan kode adalah sebagai berikut:
module.exports = function (grunt) {
grunt.initconfig ({
Log: {
T1: [1, 2, 3],
T2: 'halo dunia',
T3: Salah
}
});
grunt.registermultitask ('log', 'log stuff.', function () {
grunt.log.writeln (this.target + ':' + this.data);
});
};
Masukkan direktori G1 dan uji secara terpisah
Masukkan Grunt dan tiga subtugas akan dieksekusi pada gilirannya T1, T2, T3
Masukkan Grunt Log: T1, Grunt Log: T2, Grunt Log: T3 masing -masing
4. Komunikasi antar tugas
Tugas lain dapat dipanggil di dalam satu tugas, sebagai berikut
Salinan kode adalah sebagai berikut:
module.exports = function (grunt) {
Grunt.RegisterTask ('myTask', 'demonstrasi tugas paling sederhana, mencetak output yang berbeda sesuai dengan parameter.', Fungsi (arg1, arg2) {
if (arguments.length === 0) {
grunt.log.writeln ('Tugas' + this.name + ", tidak ada parameter yang dilewati");
} lain if (arguments.length === 1) {
grunt.log.writeln ('Tugas' + this.name + ", ada parameter yang" + arg1);
} kalau tidak {
grunt.log.writeln ('Tugas' + this.name + ", ada dua parameter:" + arg1 + "," + arg2);
}
});
grunt.registertask ('default', 'default', function () {
// hubungi myTask
grunt.task.run ('myTask: param1: param2')
})
};
Masukkan baris perintah dan masukkan Grunt
Hubungi banyak tugas, dan berikan mereka ke metode run yang dipisahkan oleh koma, atau dalam formulir array
Salinan kode adalah sebagai berikut:
grunt.registertask ('default', 'default', function () {
grunt.task.run ('myTask1', 'myTask2')
// atau
grunt.task.run (['myTask1', 'myTask2'])
})