NODE_ENV
একটি হল এনভায়রনমেন্ট ভেরিয়েবল দ্বারা জনপ্রিয় দ্রুতগামী ওয়েবসার্ভার ফ্রেমওয়ার্ক। যখন কোনও নোড অ্যাপ্লিকেশন চালিত হয়, তখন এটি পরিবেশের পরিবর্তনশীলের মানটি পরীক্ষা করতে পারে এবং মানটির ভিত্তিতে বিভিন্ন জিনিস করতে পারে। NODE_ENV
নির্দিষ্ট পরিবেশটি উত্পাদন বা উন্নয়ন পরিবেশ কিনা তা নির্দিষ্ট করে নির্দিষ্টভাবে ব্যবহার করা হয় (কনভেনশন দ্বারা) । একটি সাধারণ ব্যবহারের ক্ষেত্রে অতিরিক্ত পরিবেশে চলমান থাকলে অতিরিক্ত ডিবাগিং বা লগিং কোড চলছে।
NODE_ENV অ্যাক্সেস করা হচ্ছে
পরিবেশের পরিবর্তনশীল নিজেকে অ্যাক্সেস করতে আপনি নীচের কোডটি ব্যবহার করতে পারেন যাতে আপনি নিজের চেক এবং যুক্তি সম্পাদন করতে পারেন:
var environment = process.env.NODE_ENV
অথবা বিকল্পভাবে এক্সপ্রেস 'ব্যবহার করুন app.get('env')
( দ্রষ্টব্য: এতে ডিফল্ট হবে "development"
)
আপনি যদি NODE_ENV
আপনার পরিবেশের জন্য স্পষ্টভাবে সেট না করে থাকেন তবে সচেতন থাকবেন undefined
।
NODE_ENV সেট করা হচ্ছে
কীভাবে বাস্তবে পরিবেশের পরিবর্তনশীল সেট করতে হয় অপারেটিং সিস্টেম থেকে অপারেটিং সিস্টেমের মধ্যে পরিবর্তিত হয় এবং আপনার ব্যবহারকারী সেটআপের উপরও নির্ভর করে।
যদি আপনি পরিবেশের পরিবর্তনশীলটিকে এক-অফ হিসাবে সেট করতে চান, আপনি কমান্ড লাইন থেকে এটি করতে পারেন:
- লিনাক্স এবং ম্যাক :
export NODE_ENV=production
- উইন্ডোজ :
$env:NODE_ENV = 'production'
দীর্ঘমেয়াদে আপনার এটি অবিচল থাকা উচিত যাতে আপনি রিবুট করলে সেটি সেট না হয়ে যায় - এটি করার জন্য সমস্ত সম্ভাব্য পদ্ধতির তালিকা না করে আমি আপনাকে কীভাবে এটি করব তা অনুসন্ধান করতে দেব!
কনভেনশনটি নির্দেশ দিয়েছে যে আপনার কেবলমাত্র দুটি মান ব্যবহার করা উচিত NODE_ENV
, উভয় production
বা development
সমস্ত ছোট হাতের জন্য। আপনাকে আরও মান যোগ করাতে বাধা দেওয়ার কিছু নেই, তবে সম্ভবত এটি একটি ভাল ধারণা নয়, কারণ আমি ব্যবহার করি এমন অনেক নোড_মডিউলগুলিতে এই ধরণের কোডটি প্রচুর দেখতে পাচ্ছি:
var development = process.env.NODE_ENV !== 'production';
মনে রাখবেন যে নোড অ্যাপ্লিকেশন থেকেই নিজের মধ্যে থেকে সেট করার চেষ্টা করা সত্যিই খারাপ ধারণাNODE_ENV
- আপনি যদি এটি করেন তবে এটি কেবল যে প্রক্রিয়াটি সেট করা হয়েছিল কেবল তার প্রযোজ্য হবে , সুতরাং আপনারা যেমন আশা করেন তেমন জিনিসগুলি সম্ভবত কাজ করবে না। এটি করবেন না - আপনি আফসোস করবেন।
app.configure('development', ...)
বা "উত্পাদন" কেবলমাত্র উন্নয়ন বা উত্পাদন পরিবেশের জন্য নির্দিষ্ট সেটিংস সেট করতে। Expressjs.com/api.html#app.configure