A Modern Web Dev's Toolkit . ওয়েব ডেভেলপার দের আধুনিক টুলস
নোড এবং এন পি এমঃ
নোড এনেছে সার্ভার ও ডেস্কটপ জাভা স্ক্রিপ্ট। প্রথমে যদিও জাভা স্ক্রিপ্ট প্রধানত ব্রাউজার এর ভাষার ওপর ভিত্তি করে ব্যবহার করা হত, এখন নোড দ্বারা আপনি আপনার সার্ভার সাইড ব্যাক বা একটি ডেস্কটপ অ্যাপ্লিকেশন তৈরি করতে পারেন আপনার নোড-ওয়েবকিটের সাহায্যে (যারা বেশী উদ্বিগ্ন জন্য)। Node.js® হলো, ক্রোমের জাভাস্ক্রিপ্ট রানটাইম উপর নির্মিত একটি প্ল্যাটফর্ম, যা দ্বারা দ্রুত ও সহজে আকার পরিবর্তনযোগ্য নেটওয়ার্ক অ্যাপ্লিকেশন।
একটি ওয়েব সার্ভার তৈরি করা অত্যন্ত সহজ যদি নিম্নক্ত লাইনগুলো অনুসরণ করা যায়।
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
এটি চালানোর জন্য করতে হবে
$ node start
Server running at http://172.0.0.1:1337/
নোড এর অন্নতম একটি বিষয় হলো এর গুরুত্বপূর্ণ কমিউনিটি, যা NPM ডিরেক্টরি, নোড প্যাকেজ ম্যানেজার তৈরি করে এবং তথাকথিত নোড মডিউল প্রকাশ করে। বর্তমানে এ সম্পর্কে 90,000 মডিউল আছে এবং গত মাসে প্রায় 390,000 ডাউনলোড করা হয়েছে।
নোড ইনস্টলিং এর নিয়মঃ
শুরুতেই আপনাকে প্রথমে নোড রানটাইম ইনস্টল করতে হবে। এটি স্বয়ংক্রিয়ভাবে আপনার মেশিনে NPM ইনস্টল করবে।
এটি সম্পন্ন হলে, লিখতে হবে
$ node -v
নোড প্যাকেজ ইনস্টলিং এর নিয়মঃ
একটি নোড প্যাকেজ ইনস্টল করা সহজ।
$ npm install grunt
এটি node_modules নামক একটি ফোল্ডারে ইনস্টল হবে।
একটি প্যাকেজ আন-ইনস্টল করতেঃ
একটি প্যাকেজ আনইনস্টল করতে নিম্নক্ত পদ্ধতি অবলম্বন করুন।
$ npm uninstall --save-dev grunt
এর ফলে package.json থেকে প্যাকেজটি মুছে যাবে।
বিশ্বব্যাপী প্যাকেজসমূহঃ
প্যাকেজ ইনস্টলের পাশাপাশি dev বা রানটাইম নির্ভর করে।
$ npm install grunt –g
প্যাকেজ পুনরুদ্ধারের নিয়মঃ
আপনার VCS করতে node_modules ফোল্ডার কমিট করবেন না।
রুট ডিরেক্টরিতে নির্বাহ করতেঃ
$ npm install
সংস্করণ করাঃ
- একটি সংস্করণ সংখ্যা হলো MINOR.PATCH
- যখন আপনি অসামঞ্জস্যপূর্ণ মেজর সংস্করণ করেন, তখন API- র পরিবর্তন হয়।
- ক্ষুদ্র সংস্করণ হয় যখন আপনি পিছন দিকে একটি উপযুক্ত পদ্ধতিতে কার্যকারিতা যোগ করেন, এবং যখন আপনি পিছন দিকে-সামঞ্জস্যপূর্ণ বাগ সংশোধন করেন, তখন প্যাচ সংস্করণ হয়।
- NPM 1.3.5: প্যাকেজ (সবচেয়ে নিয়ন্ত্রণমূলক) দেওয়া সংস্করণ ব্যবহার করতে বলে।
- বাড়তি প্যাচ সংস্করণের (সাধারণত বাগ) জন্য3.5 বা 1.3.x: NPM শুধুমাত্র আপগ্রেড দেওয়া প্যাকেজকে এভাবে উল্লেখ করে => = 1.3.5-0
- 4.0-0: NPM এটি সংজ্ঞায়িত করে এভাবে ~ 1.3.5
- ^ 1.3.5: <2.0.0: এটি প্রধান রিলিজের চেয়ে পরবর্তী কোনো সংস্করণে আপগ্রেড করতে NPM এভাবে উল্লেখ করেঃ :<2.0.0 ।
- যখন আপনি নোড প্যাকেজ ইনস্টল করবেন তখন নতুন NPM 1.3.5 ডিফল্ট সিস্টেম এভাবে টা প্রদর্শন করবে => = 1.3.5-0 <2.0.0-0
বোয়ারঃ
এটা একটি প্যাকেজ ম্যানেজার যা আপনার সামনের শেষ উন্নয়ন লাইব্রেরি যেমন jQuery, বুটস্ট্র্যাপ এর জন্য।
$ npm install -g bower
একটি bower.json ফাইলের উদাহরণ।
একটি প্যাকেজ আন-ইনস্টল করতে হলে এই পদ্ধতি অনুসরণ করুনঃ
$ bower uninstall --save jquery
ইওম্যানঃ
ইওম্যান এক ধরণের জেনারেটর দ্বারা ।
ইওম্যান এর জেনারেটরগুলো একটি নোড মডিউল হিসাবে বিতরণ করা হয়।
এটি ইনস্টল করতেঃ
$ npm install -g yo
Gruntfile.js :
Gruntfile.js সেই স্থান যেখানে আপনি আপনার প্রকল্পের কাজটি কনফিগার করবেন। এই ফাইলটি সহজে শুরু করতে:
module.exports = function(grunt) {
// Do grunt-related things in here
};
গ্রান্ট মডিউলসঃ
গ্রান্ট মডিউল নোড এর NPM ডিরেক্টরির মাধ্যমে বিতরণ করা হয়। গ্রান্ট মডিউলসই ইনস্টল করতে আমার দেখানো পদ্ধতি অনুসরণ করুনঃ
$ npm install --save-dev grunt-contrib-uglify
গ্রান্ট টাস্কের কারণ বিশ্লেষণঃ
আপনি বিল্ড টাস্ক নির্ধারণ শুরু করতে চাইলে আমার আগে উল্লেখ করা গ্রান্ট বইটির উদাহরণস্বরূপ stringCheck টাস্কটিকে অনুসরণ করবেন।
module.exports = function(grunt){
...
grunt.initConfig({
stringCheck: {
file: './src/somefile.js',
string: 'console.log('
}
});
}
আপনি দেখতে পাবেন, একটি টাস্ক কেবলি একটি ফাংশন যা আপনি রেজিস্টার করবেন গ্রান্ট এর সাথে।
module.exports = function(grunt){
grunt.registerTask('stringCheck', function() {
//fail if configuration is not provided
grunt.config.requires('stringCheck.file');
grunt.config.requires('stringCheck.string');
//retrieve filename and load it
var file = grunt.config('stringCheck.file');
var contents = grunt.file.read(file);
//retrieve string to search for
var string = grunt.config('stringCheck.string');
if(contents.indexOf(string >= 0))
grunt.fail.warn('"' + string + '" found in "' + file + '"');
});
}
একাধিক টাস্কঃ
গ্রান্ট আপনাকে দিচ্ছে একটি টাস্ক সঞ্চালনের গ্রুপ।নিম্নক্তঃ
module.exports = function(grunt){
...
grunt.initConfig({
stringCheck: {
target1: {
file: './src/somefile.js',
string: 'console.log('
},
target2: {
file: './src/somefile.js',
string: 'eval('
}
}
});
}
গ্লোবিং:
ফাইল গ্লোবিং বা ওয়াইল্ডকার্ড সাদৃশ্যকরণ একটি বড় গ্রুপের ফাইল ক্যাপচার করার একটি পদ্ধতি।
চলমান কর্মঃ
আপনি যদি একটি টাস্ক রান করতে চাইলে নিম্নের পদ্ধতি অনুসরণ করুনঃ
$ grunt task1 task2
যদি আপনার একাধিক টাস্কের উদ্দেশ্য থাকে, তাহলে নিম্নক্ত পদ্ধতি অনুসরণ করুনঃ
$ grunt task:target1
আপনি যদি এর পরিবর্তে গ্রান্ট চালান, তাহলে ডিফল্ট টাস্ক চলতে থাকবে যা আপনি নিম্নরূপ কনফিগার করতে পারেনঃ
module.exports = function(grunt) {
grunt.registerTask('build', function() {
console.log('building...');
});
grunt.registerTask('test', function() {
console.log('testing...');
});
grunt.registerTask('default', ['build', 'test']);
};
গাল্পঃ
নোড কখনই পূর্ণতা পাবে না, যদি আমরা গাল্পকে উল্লেখ না করি। গাল্প হলো জাভা স্ক্রিপ্ট টাস্কের এর আগত নতুন সঞ্চালক যা Node.js প্রবাহের উপর নির্মিত। এটি স্ক্রিপ্টকে সহজে নির্মাণের লক্ষে “অনুরক্ত কনফিগারেশন কোড” ব্যবহার করা হয়।