Environment Variables की जानकारी
In this page:
const value: string | undefined = process.env.VARIABLE_NAME;
Environment Variables पढ़ना
Node में process.env के through environment variables पढ़ना string | undefined typed values return करता है, correctly यह reflect करते हुए कि एक expected variable आपके program शुरू होने पर simply set नहीं भी हो सकता।
उदाहरण: Reading Environment Variables
const apiKey: string | undefined = process.env.API_KEY;
console.log(apiKey);
Environment Variables और Numbers
Environment variables हमेशा strings होती हैं, इसलिए जो भी numeric होना चाहिए — जैसे एक port number — उसे Number() या parseInt से एक explicit conversion चाहिए, क्योंकि process.env.PORT अकेले एक string typed है, कभी number नहीं।
उदाहरण: Environment Variables and Numbers
const port: number = Number(process.env.PORT) || 3000;
console.log(port);
Required Variables Validate करना
Required variables validate करने का मतलब है यह check करना कि हर एक मौजूद है (और अगर नहीं है तो early throw करना) सीधे startup पर, string | undefined type को बाकी program के safely उपयोग करने के लिए एक guaranteed string में बदलते हुए।
उदाहरण: Validating Required Variables
function requireEnv(name: string): string {
const value = process.env[name];
if (!value) throw new Error(`Missing env var: ${name}`);
return value;
}
console.log(typeof requireEnv);
Typed Configuration Objects
Startup पर एक बार बनाया गया एक typed configuration object — हर environment variable को शुरुआत में पढ़ना और validate करना — का मतलब है कि बाकी codebase हर जगह process.env repeatedly check करने के बजाय एक fully-typed config object import कर सकता है।
उदाहरण: Typed Configuration Objects
interface AppConfig {
port: number;
apiKey: string;
}
const config: AppConfig = {
port: Number(process.env.PORT) || 3000,
apiKey: process.env.API_KEY || "dev-key",
};
console.log(config);
एक Node Server में Environment Variables
एक Node server में, app.listen() call करने से पहले environment variables validate करना सुनिश्चित करता है कि एक missing critical variable (जैसे एक database URL) बाद में एक request handler के अंदर एक confusing runtime error होने के बजाय boot पर ही fast fail हो।
उदाहरण: Environment Variables in a Node Server
function requireEnv(name: string): string {
const value = process.env[name];
if (!value) throw new Error(`Missing env var: ${name}`);
return value;
}
// const dbUrl = requireEnv("DATABASE_URL"); // fails fast at boot
console.log("Validate env vars before app.listen() to fail fast");
- यह मान लेना कि
process.env.PORTएकstringहै और इसे वहां pass करना जहां एकnumberचाहिए, जब यहstring | undefinedहै। process.env.PORTको directly एक number के रूप में उपयोग करना, इसलिएPORT + 13001के बजाय"30001"देता है।- यह check न करना कि startup पर एक required variable मौजूद है, इसलिए एक
undefinedvalue बाद में काफी देर में errors cause करता है।
- TypeScript को Node के साथ उपयोग करने का मतलब है project set up करना और Node के built-in types के लिए
@types/nodeinstall करना। - File system, HTTP module, और Express का typed उपयोग server code को सुरक्षित बनाता है।
- Environment variables loosely typed values के रूप में आती हैं, इसलिए उन्हें types के साथ सावधानी से handle किया जाना चाहिए।
Chapter Quiz — Complete all 6 topics to unlock
0/6 topics done
Complete these topics first: