উত্তর:
process.env.ENV_VARIABLE
ENV_VARIABLE
আপনি যে পরিবর্তনশীলটির অ্যাক্সেস করতে চান তার নাম কোথায় ।
এর জন্য নোড.জেএস ডক্সprocess.env
দেখুন ।
process.env.FOO = "foo";
কাজ করে।
process.env
সুরক্ষা কারণে স্যানিটাইজ করা হয়। কেবল যে পরিবর্তনগুলি শুরু হয় REACT_ENV_
তা উপলব্ধ। দেখুন: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
নোড.জেএস ব্যবহার করার সময় , আপনি process.env
বস্তু থেকে কী দ্বারা পরিবেশের পরিবর্তনগুলি পুনরুদ্ধার করতে পারেন :
উদাহরণ স্বরূপ
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
এখানে এমন উত্তর যা নোড.জেজে পরিবেশের ভেরিয়েবল নির্ধারণের ব্যাখ্যা দেবে
process.env
তে অন্তর্নির্মিত।
আপনি যদি আপনার নোড.জেএস প্রোগ্রামটিতে উত্পন্ন স্ট্রিং কী ব্যবহার করতে চান তবে বলুন var v = 'HOME'
, আপনি ব্যবহার করতে পারেন
process.env[v]
।
অন্যথায়, process.env.VARNAME
আপনার প্রোগ্রামটিতে হার্ডকোড করতে হবে।
process.env['HOME']
?
নোড.জেএস-এ পরিবেশগত পরিবর্তনগুলি পুনরুদ্ধার করতে আপনি প্রক্রিয়া.এনভি.ভি.আর.আই.বি.এল.বি.এস ব্যবহার করতে পারেন তবে ভুলে যাবেন না যে প্রক্রিয়া.এনভি-তে একটি সম্পত্তি অর্পণ করা স্পষ্টতই মানটিকে একটি স্ট্রিতে রূপান্তর করবে।
এমনকি আপনার .env ফাইলটি SHOULD_SEND = মিথ্যা বা SHOULD_SEND = 0 এর মতো একটি চলক নির্ধারণ করে , মানগুলি স্ট্রিংগুলিতে রূপান্তরিত হবে ( যথাক্রমে "মিথ্যা" এবং "0" ) এবং বুলিয়ান হিসাবে ব্যাখ্যা করা হবে না।
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
পরিবর্তে, আপনার সুস্পষ্ট চেক করা উচিত। আমি পেয়েছি পরিবেশের নামের উপর নির্ভর করে অনেক দীর্ঘ।
db.connect({
debug: process.env.NODE_ENV === 'development'
});
আপনি প্রতি প্রকল্পে আপনার পরিবেশের ভেরিয়েবলগুলি পরিচালনা করতে env প্যাকেজটি ব্যবহার করতে পারেন :
.env
প্রকল্প ডিরেক্টরিতে একটি ফাইল তৈরি করুন এবং আপনার ভেরিয়েবলগুলি সেখানে রাখুন।require('dotenv').config();
সম্পন্ন. এখন আপনি এর সাথে আপনার পরিবেশের ভেরিয়েবলগুলি অ্যাক্সেস করতে পারেন process.env.ENV_NAME
।
env
লাইব্রেরি থেকে এনভ ভেরিয়েবলগুলি পরিচালনা এবং লোড করুন ।
envdir
ইউটিলিটিটি ব্যবহার করে আপনি নন-নোড.জেএস-নির্দিষ্ট উপায়ে এটি করতে পারেন ।
node
স্পেসিফিক নয় ।
এগুলি .bash_profile
ফাইলের ব্যবহারকারী ডিরেক্টরিতে কেন ব্যবহার করবেন না , তাই আপনাকে আপনার ভেরিয়েবলগুলির সাথে কোনও ফাইলকে উত্পাদনে ঠেলাতে হবে না?
env
, নোড প্রক্রিয়া চলমান অবস্থায় আপনি অন্য শেল উইন্ডোতে গুলি চালালে বা নোড প্রক্রিয়াটি প্রস্থান করার পরে একই শেলটিতে না থাকলে এটি দৃশ্যমান হবে না ।