Grunt এ Task Aliases একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা আপনাকে একাধিক টাস্ক একসাথে গ্রুপ করতে এবং সেগুলিকে একটি সহজ নাম দিয়ে কল করতে সাহায্য করে। এর মাধ্যমে আপনি একাধিক টাস্ক একই সাথে চালাতে পারেন এবং একই কমান্ড দিয়ে সেই টাস্কগুলো পরিচালনা করতে পারেন।
Task Aliases ব্যবহার করার মাধ্যমে আপনার Grunt কনফিগারেশন আরও পরিষ্কার ও সংগঠিত হয় এবং এটি একাধিক টাস্ককে সহজে একত্রিত করার সুবিধা দেয়।
Task Aliases কী?
Task Aliases এমন একটি কাস্টম টাস্ক যা একাধিক টাস্ককে একত্রিত করে একটি নামের অধীনে রান করায়। উদাহরণস্বরূপ, যদি আপনার প্রোজেক্টে একাধিক টাস্ক থাকে (যেমন, uglify, sass, jshint), তবে আপনি একটি নতুন Task Alias তৈরি করতে পারেন, যা সবগুলো টাস্ক একসাথে চালাবে।
Task Alias ডিফাইন করা
Task Alias ডিফাইন করতে grunt.registerTask() ফাংশন ব্যবহার করতে হয়। নিচে একটি উদাহরণ দেওয়া হলো:
module.exports = function(grunt) {
grunt.initConfig({
uglify: {
my_target: {
files: {
'dist/output.min.js': ['src/input.js']
}
}
},
sass: {
dist: {
files: {
'css/styles.css': 'scss/styles.scss'
}
}
}
});
// প্লাগইন লোড করা
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-sass');
// Task Alias ডিফাইন করা
grunt.registerTask('build', ['uglify', 'sass']); // build নামে একটি alias তৈরি করা
grunt.registerTask('default', ['build']); // default টাস্ক হিসেবে build টাস্ক নির্ধারণ করা
};
এখানে, build নামের একটি alias টাস্ক তৈরি করা হয়েছে, যা uglify এবং sass টাস্ক দুটি একসাথে রান করবে। যখন আপনি grunt build কমান্ড রান করবেন, তখন Grunt স্বয়ংক্রিয়ভাবে উল্লিখিত দুটি টাস্ক একসাথে চালাবে।
Task Aliases এর ব্যবহার
- সাধারণ alias: একাধিক টাস্ক একত্রিত করার জন্য।
- ডিফল্ট alias: যখন আপনি
gruntকমান্ড রান করেন, তখন ডিফল্ট টাস্ক হিসেবে এটি চলবে। - শর্তাধীন alias: আপনি কিছু কন্ডিশনাল কাজ করার জন্য alias তৈরি করতে পারেন, যেমন কেবলমাত্র যখন কোনো ফাইল পরিবর্তন হয় তখন কিছু টাস্ক চালানো।
Task Alias এর উন্নত ব্যবহার
Dependency টাস্কের জন্য alias
আপনি যদি চান যে কিছু টাস্ক নির্দিষ্ট শর্তের উপর ভিত্তি করে চলুক, তবে আপনি সেই শর্ত তৈরি করে Task Alias ব্যবহার করতে পারেন। উদাহরণস্বরূপ:
module.exports = function(grunt) {
grunt.initConfig({
jshint: {
all: ['Gruntfile.js', 'src/**/*.js']
},
uglify: {
my_target: {
files: {
'dist/output.min.js': ['src/input.js']
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
// Task Alias ডিফাইন করা
grunt.registerTask('lint-and-build', ['jshint', 'uglify']); // lint এবং build টাস্ক একত্রিত
grunt.registerTask('default', ['lint-and-build']); // ডিফল্ট টাস্ক হিসেবে সেট করা
};
এখানে lint-and-build alias তৈরি করা হয়েছে, যা প্রথমে jshint চালাবে এবং তারপর uglify চালাবে।
Watch ব্যবহার করে alias
আপনি watch টাস্কের সাথে alias ব্যবহার করতে পারেন, যাতে ফাইল পরিবর্তন হলে স্বয়ংক্রিয়ভাবে টাস্ক চালানো যায়:
module.exports = function(grunt) {
grunt.initConfig({
watch: {
scripts: {
files: ['src/**/*.js'],
tasks: ['uglify']
}
},
uglify: {
my_target: {
files: {
'dist/output.min.js': ['src/input.js']
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
// Watch alias তৈরি করা
grunt.registerTask('default', ['watch']);
};
এখানে, watch টাস্কটি চালানো হলে, আপনি যখন src//*.js** ফাইলটি পরিবর্তন করবেন, তখন uglify টাস্ক স্বয়ংক্রিয়ভাবে চলে যাবে।
সারাংশ
Task Aliases ব্যবহার করে আপনি Grunt এর বিভিন্ন টাস্ককে একত্রিত করে একটি সহজ নামের অধীনে গ্রুপ করতে পারেন, যা প্রোজেক্টের কনফিগারেশনকে পরিষ্কার এবং সহজ করে তোলে। এটি টাস্কগুলো একসাথে চালানোর সুবিধা দেয় এবং আপনার কাজের গতি বাড়ায়। Task Aliases ব্যবহার করলে আপনি একই কমান্ডের মাধ্যমে একাধিক টাস্ক দ্রুত সম্পন্ন করতে পারবেন।
Read more