কিভাবে Node.js-এ কমান্ড লাইন থেকে ইনপুট গ্রহণ করবেন?

Kibhabe Node Js E Kamanda La Ina Theke Inaputa Grahana Karabena



Node.js হল একটি সুপরিচিত ওপেন সোর্স ফ্রি জাভাস্ক্রিপ্ট রানটাইম এনভায়রনমেন্ট যা ব্যবহারকারীদের একটি ফাইল থেকে বা সরাসরি কমান্ড লাইন থেকে জাভাস্ক্রিপ্ট কোড এক্সিকিউট করতে দেয়। একটি ফাইল থেকে একটি জাভাস্ক্রিপ্ট কোড চালানোর জন্য একটি বহিরাগত প্রয়োজন “. js ” ফাইল কমান্ড যখন কমান্ড লাইন জাভাস্ক্রিপ্ট কোড সরাসরি লাইন দ্বারা সঞ্চালিত করে।

কখনও কখনও, কমান্ড লাইন থেকে Node.js অ্যাপ্লিকেশন চালু করার সময় ব্যবহারকারীকে তথ্য কনফিগার করতে হবে “ node ” এইরকম পরিস্থিতিতে, ব্যবহারকারীকে সেই তথ্যটি 'এ লেখার পরিবর্তে এক্সিকিউশন কমান্ডের সাথে ইনপুট হিসাবে সরাসরি পাস করতে হবে। js ' ফাইল।







এই লেখাটি Node.js-এ কমান্ড লাইন থেকে ইনপুট গ্রহণ করার সম্ভাব্য সমস্ত পদ্ধতি নিয়ে আলোচনা করবে।



কিভাবে Node.js-এ কমান্ড লাইন থেকে ইনপুট গ্রহণ করবেন?

Node.js কমান্ড লাইন থেকে ইনপুট গ্রহণ করার জন্য নিম্নলিখিত মডিউলগুলি অফার করে:



চলুন শুরু করা যাক ' রিডলাইন 'মডিউল।





প্রাক-প্রয়োজনীয় : যেকোনো পদ্ধতির ব্যবহারিক বাস্তবায়নে যাওয়ার আগে, প্রথমে একটি “তৈরি করুন। js যেকোনো নামের ফাইল এবং তাতে সমস্ত সোর্স কোড লিখুন। এখানে, আমরা একটি তৈরি করেছি ' সূচক .js' ফাইল।

পদ্ধতি 1: 'রিডলাইন' মডিউল ব্যবহার করে কমান্ড লাইন থেকে ইনপুট গ্রহণ করুন

দ্য ' রিডলাইন ” মডিউল পঠনযোগ্য স্ট্রীম থেকে ব্যবহারকারীর ইনপুট পড়ার জন্য একটি ইন্টারফেস তৈরি করে এবং ফলাফল আউটপুট হিসাবে তার প্রতিক্রিয়া ফেরত দেয়। এটি একটি অন্তর্নির্মিত মডিউল যাতে ব্যবহারকারী এটি ব্যবহার করে এটি ইনস্টল না করে সরাসরি Node.js অ্যাপ্লিকেশনে আমদানি করতে পারে। npm



এই পরিস্থিতিতে, এটি কমান্ড লাইন থেকে ইনপুট নিতে এবং তারপর আউটপুট স্ক্রিনে মুদ্রণ করতে ব্যবহৃত হয়। এখানে এর ব্যবহারিক বাস্তবায়ন রয়েছে:

const রিডলাইন = প্রয়োজন ( 'রিডলাইন' )
const rl = রিডলাইন ইন্টারফেস তৈরি করুন ( {
ইনপুট : প্রক্রিয়া stdin ,
আউটপুট : প্রক্রিয়া stdout
} )
rl প্রশ্ন ( `সেরা প্ল্যাটফর্ম জন্য প্রযুক্তিগত বিষয়বস্তু ? ` , ওয়েবসাইট => {
rl প্রশ্ন ( `কোন বিভাগ আপনি অন্বেষণ করতে চান ? ` , বিভাগ => {
কনসোল লগ ( `ওয়েবসাইট : $ { ওয়েবসাইট } , শ্রেণী : $ { বিভাগ } ` )
rl বন্ধ ( )
} )
} )

উপরের কোড লাইনের বর্ণনা নিম্নরূপ:

  • প্রথমত, ' প্রয়োজন ()' পদ্ধতি আমদানি করে ' রিডলাইন ” বর্তমান Node.js প্রকল্পে মডিউল।
  • পরবর্তী, ' ইন্টারফেস তৈরি করুন ()' পদ্ধতি নির্দিষ্ট করে ' ইনপুট এবং আউটপুট একটি বস্তু হিসাবে প্রবাহিত হয়। দ্য ' ইনপুট ' স্ট্রীম ব্যবহার করে ' process.stdin ব্যবহারকারীর কাছ থেকে ইনপুট নেওয়ার জন্য সম্পত্তি।
  • দ্য ' আউটপুট ' স্ট্রীম ব্যবহার করে ' process.stdout ইনপুট স্ট্রীম পড়ার এবং প্রদত্ত ইনপুট স্ট্রীমের স্ট্যান্ডার্ড আউটপুট হিসাবে মুদ্রণের জন্য সম্পত্তি।
  • এর পরে, ' rl.question ()' পদ্ধতি ব্যবহারকারীর কাছ থেকে ইনপুট নেয়। এটি প্রশ্নটিকে প্রথম হিসাবে এবং কলব্যাক ফাংশনটিকে তার দ্বিতীয় যুক্তি হিসাবে পাস করে। প্রদত্ত কলব্যাক তীর ফাংশন ব্যবহারকারীর প্রবেশ করা মান পুনরুদ্ধার করে।
  • প্রদত্ত সংজ্ঞায় ' ওয়েবসাইট ', এবং ' বিভাগ ' কলব্যাক তীর ফাংশন, ' console.log ()' পদ্ধতিটি প্রবেশ করা মানগুলি প্রদর্শন করতে ব্যবহৃত হয়।
  • সবশেষে, ' rl.close ()' পদ্ধতি উপরে তৈরি ইন্টারফেস বন্ধ করে দেয়।

আউটপুট

শুরু করুন ' সূচক .js' ফাইলটি প্রদত্ত কমান্ডটি কার্যকর করে:

নোড সূচক। js

নিম্নলিখিত আউটপুটটি একটি রিডলাইন ইন্টারফেস দেখায় যা কমান্ড লাইন থেকে ব্যবহারকারীর ইনপুট নেয় এবং তারপরে প্রদত্ত মানটিকে আদর্শ আউটপুট হিসাবে প্রদর্শন করে:

পদ্ধতি 2: 'রিডলাইন-সিঙ্ক' মডিউল ব্যবহার করে কমান্ড লাইন থেকে ইনপুট গ্রহণ করুন

দ্য ' রিডলাইন-সিঙ্ক ” হল তৃতীয় পক্ষের মডিউল যা হার্ডকোড করা প্রশ্নগুলির সাথে সম্পর্কিত তথ্য সিঙ্ক্রোনাসভাবে পুনরুদ্ধার করে এবং ভবিষ্যতের ক্রিয়াকলাপের জন্য তাদের সংশ্লিষ্ট উত্তরগুলি সঞ্চয় করে৷ এটি কমান্ড লাইন থেকে ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ হিসাবে কাজ করে।

অ্যাসিঙ্ক্রোনাস এবং সিঙ্ক্রোনাস মডিউলগুলির মধ্যে প্রধান পার্থক্য হল যে ' অ্যাসিঙ্ক্রোনাস ” সোর্স কোডের এক্সিকিউশন অবরুদ্ধ করে যতক্ষণ না এর নির্দিষ্ট কাজটি সঞ্চালিত না হয় যেখানে সিঙ্ক্রোনাস মডিউলগুলি ক্রমিক পদ্ধতিতে লাইন দ্বারা কোড লাইন চালায়।

'রিডলাইন-সিঙ্ক' মডিউল ইনস্টল করুন

দ্য 'রিডলাইন-সিঙ্ক' মডিউল একটি অন্তর্নির্মিত মডিউল নয়, তাই নীচের কমান্ডটি কার্যকর করার মাধ্যমে এটি ম্যানুয়ালি ইনস্টল করা দরকার:

npm ইন্সটল রিডলাইন - সুসংগত

আউটপুট দেখায় যে রিডলাইন-সিঙ্ক মডিউলটি বর্তমান Node.js প্রকল্পে যোগ করা হয়েছে:

এখন, ব্যবহার করুন ' রিডলাইন-সিঙ্ক প্রদত্ত কোড স্নিপেট অনুসরণ করে ব্যবহারিকভাবে মডিউল:

ছিল readline সিঙ্ক = প্রয়োজন ( 'রিডলাইন-সিঙ্ক' ) ;
ছিল empName = readline সিঙ্ক। প্রশ্ন ( 'কর্মকর্তার নাম: ' ) ;
ছিল জেডি = readline সিঙ্ক। প্রশ্ন ( 'কাজের বিবরণী: ' ) ;
ছিল প্রতিষ্ঠান = readline সিঙ্ক। প্রশ্ন ( 'প্রতিষ্ঠান: ' , {
} ) ;
কনসোল লগ ( empName + 'একটি হিসাবে কাজ করে' + জেডি + ' ভিতরে ' + প্রতিষ্ঠান ) ;

উপরের কোডের ব্যাখ্যা নিম্নরূপ:

  • প্রথমত, ' রিডলাইন-সিঙ্ক 'মডিউলটি ফাইলের ভিতরে আমদানি করা হয় এবং এর অবজেক্ট একটি নতুন ভেরিয়েবলে সংরক্ষণ করা হয়' readline সিঙ্ক
  • এরপরে, 'এর সাহায্যে প্রশ্ন জিজ্ঞাসা করা হয় প্রশ্ন ()' পদ্ধতিটি যুক্তি হিসাবে উল্লেখ করে।
  • পরবর্তী প্রশ্ন জিজ্ঞাসা করার জন্য একই পদ্ধতি ব্যবহার করা হয়।
  • এর পরে, ' console.log ()' পদ্ধতিটি উদ্ধৃত স্ট্রিং সহ প্রবেশ করা মানগুলি প্রদর্শন করতে ব্যবহৃত হয়।

আউটপুট

চালান ' সূচক .js' ফাইল:

নোড সূচক। js

আউটপুট দেখায় যে সিঙ্ক্রোনাস পদ্ধতিতে, ব্যবহারকারীদের কাছ থেকে ইনপুট নেওয়া হয়েছে এবং ' ব্যবহার করে প্রদর্শিত হয়েছে রিডলাইন-সিঙ্ক 'মডিউল:

পদ্ধতি 3: 'প্রম্পট' মডিউল ব্যবহার করে কমান্ড লাইন থেকে ইনপুট গ্রহণ করুন

দ্য ' শীঘ্র ” হল একটি অ্যাসিঙ্ক্রোনাস মডিউল যা ব্যবহারকারীর ইনপুটকে ভেরিয়েবলের মান হিসাবে সংরক্ষণ করার জন্য একটি প্রম্পটিং ফাংশন তৈরি করে এবং তারপর ফলাফল আউটপুট হিসাবে এটি পুনরুদ্ধার করে। এটির পঠনযোগ্য এবং লেখার যোগ্য স্ট্রীমটি স্পষ্টভাবে কনফিগার করার দরকার নেই তাই 'এর তুলনায় এটি ব্যবহার করা বেশ সহজ রিডলাইন 'মডিউল।

'প্রম্পট' মডিউল ইনস্টল করুন

দ্য ' শীঘ্র 'এটি একটি তৃতীয় পক্ষের মডিউল যা সহজেই 'এর সাহায্যে ইনস্টল করা যেতে পারে npm ' এইভাবে:

npm ইন্সটল প্রম্পট -- সংরক্ষণ

উপরের কমান্ডে, ' -সংরক্ষণ ' পতাকা যোগ করে ' শীঘ্র 'এ মডিউল' package.json ' ফাইল।

এটি বিশ্লেষণ করা যেতে পারে যে ' শীঘ্র ' বর্তমান Node.js প্রকল্পে যোগ করা হয়েছে:

এখন, ইনস্টল করা ব্যবহার করুন ' শীঘ্র ” মডিউল ব্যবহারিকভাবে নিম্নলিখিত কোড স্নিপেটের সাহায্যে:

const শীঘ্র = প্রয়োজন ( 'শীঘ্র' )
শীঘ্র. শুরু ( )
শীঘ্র. পাওয়া ( [ 'লেখকের নাম' , 'বিভাগ' ] , ( ভুল , ফলাফল ) => {
যদি ( ভুল ) {
নিক্ষেপ ভুল

} অন্য {
কনসোল লগ ( `$ { ফলাফল. লেখকের নাম } $ এ কাজ করে { ফলাফল. শ্রেণী } ` )

}
} )

উপরে বর্ণিত কোড ব্লকে:

  • দ্য ' প্রয়োজন ()' পদ্ধতি আমদানি করে ' শীঘ্র ” প্রকল্পে মডিউল।
  • দ্য ' শুরু ()' পদ্ধতিটি প্রম্পট শুরু করে।
  • দ্য ' পাওয়া ()” পদ্ধতি কমান্ড লাইনের মাধ্যমে ব্যবহারকারীর কাছ থেকে ইনপুট নেয়। এটি প্রথম এবং দ্বিতীয় পরামিতি হিসাবে সম্পত্তির নাম এবং কলব্যাক তীর ফাংশন নির্দিষ্ট করে।
  • কলব্যাক ফাংশন 'এর সাথে ভুল ' এবং ' ফলাফল ' পরামিতি একটি 'কে সংজ্ঞায়িত করে অন্যথায় যদি 'বিবৃতি।
  • কোনো ধরনের ত্রুটি দেখা দিলে ' যদি 'ব্লক সেই ত্রুটিটি নিক্ষেপ করবে অন্যথায় ' অন্য ” ব্লক একটি আউটপুট হিসাবে নির্দিষ্ট বৈশিষ্ট্যের মান প্রদর্শন করবে।

আউটপুট

চালান ' সূচক .js' ফাইল:

নোড সূচক। js

নিম্নলিখিত আউটপুট নির্দিষ্ট বৈশিষ্ট্যের উপর ভিত্তি করে ব্যবহারকারীর ইনপুট নেয় এবং তারপর একটি আউটপুট হিসাবে তাদের মান পুনরুদ্ধার করে:

পদ্ধতি 4: 'ইনকুয়ারার' মডিউল ব্যবহার করে কমান্ড লাইন থেকে ইনপুট গ্রহণ করুন

Node.js-এ, “ অনুসন্ধানকারী কমান্ড লাইন থেকে ইনপুট নেওয়ার একটি সহজ উপায়। এটি ব্যবহারকারীদের কাছ থেকে ইনপুট নেওয়ার জন্য এবং তারপরে ' উত্তর 'অবজেক্ট এবং'। তারপর ()' অন্তর্নির্মিত পদ্ধতি।

কমান্ড লাইন যেমন তালিকা, বিকল্প, ইনপুট, চেকবক্স এবং আরও অনেক কিছুর মাধ্যমে ব্যবহারকারীর কাছ থেকে বিভিন্ন ধরণের প্রশ্ন জিজ্ঞাসা করার জন্য এটি কার্যকর। এটি ক্যোয়ারী-ভিত্তিক কাজের জন্য কমান্ড লাইন ইন্টারফেস ইন্টারফেসকে ইন্টারেক্টিভ করার একটি সুবিধাজনক উপায় প্রদান করে।

বিস্তারিত নির্দেশিকা অনুসরণ করুন ' Node.js Inquirer ব্যবহার করে কমান্ড লাইন থেকে ইনপুট নিন ব্যবহারিক প্রদর্শনের জন্য।

টিপ: কিভাবে নোডে কমান্ড লাইন থেকে আর্গুমেন্ট পাস করবেন?

ব্যবহারকারী কমান্ড লাইন থেকে আর্গুমেন্ট পাস করতে পারেন. এই উদ্দেশ্যে, ' process.argv 'সম্পত্তি ব্যবহার করা যেতে পারে। দ্য ' argv ' হল 'প্রসেস' মডিউলের অন্তর্নির্মিত সম্পত্তি যা ব্যবহার করে Node.js অ্যাপ্লিকেশন চালানোর সময় কমান্ড লাইন থেকে আর্গুমেন্ট পাস করতে ব্যবহৃত হয়। node 'আদেশ।

বিস্তারিত নির্দেশিকা অনুসরণ করুন ' Node.js এ কমান্ড লাইন থেকে আর্গুমেন্ট পাস করুন ব্যবহারিক প্রদর্শনের জন্য।

এটি Node.js-এ কমান্ড লাইন থেকে ইনপুট গ্রহণ করার বিষয়ে।

উপসংহার

কমান্ড লাইন থেকে ইনপুট গ্রহণ করতে, অ্যাসিঙ্ক্রোনাস ব্যবহার করুন “ রিডলাইন ', বা সিঙ্ক্রোনাস ' রিডলাইন-সিঙ্ক 'মডিউল। তদুপরি, এটি 'এর মাধ্যমেও সঞ্চালিত হতে পারে শীঘ্র ' অথবা ' অনুসন্ধানকারী 'মডিউল। বাদে ' রেডলাইন-সিঙ্ক ” মডিউল, বাকি সব মডিউল অসিঙ্ক্রোনাস। এই লেখায় Node.js-এ কমান্ড লাইন থেকে ইনপুট গ্রহণ করার সম্ভাব্য সমস্ত পদ্ধতি নিয়ে আলোচনা করা হয়েছে।