নোডের পুনরুদ্ধারের জন্য পরিবেশের ভেরিয়েবল সেট করা


414

আমি একটি টিউটোরিয়াল অনুসরণ করার চেষ্টা করছি এবং এতে বলা হয়েছে:

শংসাপত্রগুলি লোড করার কয়েকটি উপায় রয়েছে।

  1. পরিবেশের ভেরিয়েবল থেকে লোড করা,
  2. ডিস্কের একটি জেএসএন ফাইল থেকে লোড করা,

কীগুলি নিম্নলিখিত হিসাবে থাকা দরকার:

USER_ID, USER_KEY

... এর অর্থ হ'ল যদি আপনি আপনার পরিবেশের ভেরিয়েবলগুলি সঠিকভাবে সেট করেন তবে আপনার অ্যাপ্লিকেশনটিতে শংসাপত্রগুলি আদৌ পরিচালনা করার দরকার নেই।

কিছু গুগলিংয়ের উপর ভিত্তি করে দেখা যাচ্ছে যে আমাকে ভেরিয়েবলগুলি সেট করা দরকার process.env? আমি এই শংসাপত্রগুলি কীভাবে এবং কোথায় সেট করব? উদাহরণ দয়া করে।

উত্তর:


397

আপনার অ্যাপ্লিকেশনটিতে শংসাপত্রগুলি প্রেরণের জন্য পরিবেশ পরিবর্তনশীল (এই ক্ষেত্রে) ব্যবহার করা হচ্ছে। USER_IDএবং যথাক্রমে এবং USER_KEYউভয়ই অ্যাক্সেস করা যায় । আপনার এগুলি সম্পাদনা করার দরকার নেই, কেবল তাদের সামগ্রীগুলি অ্যাক্সেস করুন।process.env.USER_IDprocess.env.USER_KEY

দেখে মনে হচ্ছে এগুলি কেবল আপনার USER_IDএবং আপনার বা দুটি বা ডিস্কের নির্দিষ্ট ফাইল USER_KEYথেকে লোড করার মধ্যে পছন্দ দিচ্ছে process.env

এখন, আপনি যখন অ্যাপ্লিকেশনটি চালাবেন তখন যাদুটি ঘটবে।

USER_ID=239482 USER_KEY=foobar node app.js

এটি ব্যবহারকারীর আইডি 239482এবং ব্যবহারকারী কী হিসাবে পাস করবে foobar। এটি পরীক্ষার জন্য উপযুক্ত, তবে উত্পাদনের জন্য, আপনি সম্ভবত ভেরিয়েবলগুলি রফতানি করতে কিছু ব্যাশ স্ক্রিপ্টগুলি কনফিগার করবেন।


26
আপনি ব্যবহার করেন, তাহলে fishএর বদলে bash, আপনি ব্যবহার করা প্রয়োজন: env USER_ID=239482 my_command। উদাহরণস্বরূপ, নোড.জেএস এরdebug লাইব্রেরির জন্য পরিবেশের ভেরিয়েবলগুলি সেট করার জন্য : env DEBUG='*' node some_file.js ফিশশেল.com
docs

1
আমি দেখতে পেলাম যে এটির কাজ করার জন্য আমাকে "*" এর আশেপাশের উদ্ধৃতিগুলি সরিয়ে ফেলতে হয়েছিল:env DEBUG=* node some_file.js
ডিভিলিলিউসেজস

@ সামট উবুন্টু লিনাক্সে এই পরিবর্তনগুলি কীভাবে সেট করবেন?
মোহাম্মদ জমির

1
বিপুল সংখ্যক এনভির স্ক্রিপ্ট যুক্ত করার পরিবর্তে কোনও ফাইল যুক্ত করা সম্ভব বা ইউনিক্স ব্যবহারকারীর জন্য কি ব্যাশ স্ক্রিপ্ট তৈরি করা দরকার?
এমবিবিট

@ মিবিট হ্যাঁ, এটিই যা dotenvযা তা আপনার .envফাইলটি পড়বে এবং প্রয়োগ করবে।
বেলেক্সান্দ্রে

199

আমি ডটেনভ প্যাকেজটি সন্ধানের জন্য সুপারিশ করছি।

https://github.com/motdotla/dotenv

এটি একটিভাবে @ ਬੈਂেক্সামিনের উত্তরের মধ্যে প্রস্তাবিত লাইব্রেরির অনুরূপ, তবে এটি অনেক পরিষ্কার এবং কোনও বাশ স্ক্রিপ্টের প্রয়োজন হয় না। কোড বেসটি জনপ্রিয় এবং ভালভাবে বজায় রয়েছে তাও লক্ষণীয়।

মূলত আপনার একটি .env ফাইলের প্রয়োজন (যা আমি আপনার গিট / পার্শ্ববর্তী / ইত্যাদি থেকে উপেক্ষা করার পরামর্শ দিই):

FOO=bar
BAZ=bob

তারপরে আপনার অ্যাপ্লিকেশন এন্ট্রি ফাইলটিতে যত তাড়াতাড়ি সম্ভব নিম্নলিখিত লাইনটি রাখুন:

require('dotenv').config();

গম্ভীর গর্জন। সম্পন্ন. 'process.env' এ এখন উপরের ভেরিয়েবলগুলি থাকবে:

console.log(process.env.FOO);
// bar

'.Env' ফাইলটির প্রয়োজন নেই তাই আপনার অ্যাপটির অনুপস্থিতিতে পড়ে যাওয়ার বিষয়ে আপনার চিন্তা করার দরকার নেই।


1
যদিও আপনি যদি আপনার অ্যাপ্লিকেশনটির প্রয়োজনীয় প্রাসঙ্গিক কনফিগারেশন বিশদ রাখেন (যেমন এই প্রশ্নটি সম্পর্কে জিজ্ঞাসা করা হচ্ছে), তবে এটি সম্ভবত এটির অনুপস্থিতিতে পড়ে যাবে .. তবে এটি এখনও একটি ভাল বিকল্প হিসাবে মনে হচ্ছে না।
জন

6
আপনি যদি অতিরিক্ত সুরক্ষা খুঁজছেন তবে github.com/rolodato/dotenv-safe এবং কয়েকটি পরীক্ষা এটি করা উচিত।
ctrlplusb

1
আপনি যদি আপনার অ্যাপ্লিকেশনটিতে এটির প্রয়োজন না খুঁজছেন: github.com/direnv/direnv
AlecRust

100

কমান্ড লাইনে env মানগুলি সরবরাহ করুন

USER_ID='abc' USER_KEY='def' node app.js

2
কেবল এটি যোগ করে এটি বাশ শেল (সিগুইন; আমার মনে হয় গিট সরঞ্জামগুলির সাথে ইনস্টল করা) সহ উইন্ডোজটিতে আমার পক্ষে কাজ করেছে।
মার্কা

@ টিবোরসাজস: সাইগউইন বা পাওয়ারশেলকে এটি ঠিক করা উচিত। অবশ্যই এটির দু'বছর পরে উল্লেখ করা হয়েছে।
অরল্যান্ডো মেরিনেলা

9
উইন্ডোজ ব্যবহারের জন্য: SET USER_ID = 'abc'
মাইক

@ মাইক, আপনার এটির যথাযথ জবাব দেওয়া উচিত :)
রকেটস্পেসার

6
এটি ইউনিক্স বা উইন্ডোওয়াসগুলিতে কাজ করার জন্য আমরা ক্রস- এনভিটি প্যাকেজ ( npmjs.com/package/cross-env ) ব্যবহার করতে পারি
ব্রিজ

78

প্রক্রিয়া বৈশ্বিক ভেরিয়েবলের মাধ্যমে আপনি পরিবেশের পরিবর্তনশীলটি নিম্নরূপে সেট করতে পারেন:

process.env['NODE_ENV'] = 'production';

সমস্ত প্ল্যাটফর্মে কাজ করে।


22
... পরিবেশের ভেরিয়েবলগুলি কোডের বাইরের দিক থেকে স্থির না করে সেট করার উদ্দেশ্যে করা হয় - সুতরাং এটি উদ্দেশ্য এবং একটি খারাপ উদাহরণকে পরাস্ত করছে
সোমেন

44
@ সোরেন আমাদের নোড প্রোগ্রাম যা শিশু উত্তর প্রক্রিয়া চালু করে এই উত্তরটি থেকে উপকৃত হয়েছে, সুতরাং এটি কিছুটা অপ্রচলিত যদিও এর জন্য ব্যবহারের মামলা রয়েছে
পিএসপিআই

2
@pspi - আমি 99% নিশ্চিত আপনি ভুল তা করছেন এবং যদি না আপনি একটি লেখক হয়ে কনফিগ প্যাকেজ মত এই আপনি এই ধরনের কনফিগ প্যাকেজ পরিবর্তে ব্যবহার করা উচিত।
সোরেন

17
আপনি যদি জেএসে স্ক্রিপ্টগুলি বানাতে এবং এনপিপি থেকে চালাচ্ছেন তবে এটি দরকারী
স্টিফেন ড্রু

28
উদাহরণস্বরূপ, পরীক্ষা চালানোর সময় পরিবেশ নির্ধারণ এবং ওভাররাইড করার জন্য এটি দরকারী।
mtkopone

54

আপনি যদি কোনও ম্যানেজমেন্ট বিকল্প চান তবে এনভিএস এনপিএম প্যাকেজটি ব্যবহার করে দেখুন। এটি সেট করা থাকলে পরিবেশের মানগুলি প্রদান করে। অন্যথায়, আপনি একটি ডিফল্ট মান নির্দিষ্ট করতে পারেন যা বিশ্বব্যাপী ডিফল্ট অবজেক্ট ভেরিয়েবল আপনার পরিবেশে না থাকলে stored

ব্যবহার .env ( "ডট Ee en-ভি") বা পরিবেশ ফাইল অনেক কারণ জন্য ভাল। ব্যক্তিরা তাদের নিজস্ব কনফিগার পরিচালনা করতে পারে। আপনি তাদের নিজস্ব পরিবেশ সেটিংস সহ মেঘ পরিষেবাগুলিতে বিভিন্ন পরিবেশ (দেব, স্টেজ, প্রোড) স্থাপন করতে পারেন। এবং আপনি বুদ্ধিমান ডিফল্ট সেট করতে পারেন।

আপনার .envফাইলের ভিতরে প্রতিটি লাইন একটি এন্ট্রি থাকে, উদাহরণস্বরূপ:

NODE_ENV=development
API_URL=http://api.domain.com
TRANSLATION_API_URL=/translations/
GA_UA=987654321-0
NEW_RELIC_KEY=hi-mom
SOME_TOKEN=asdfasdfasdf
SOME_OTHER_TOKEN=zxcvzxcvzxcv

আপনার সংস্করণ নিয়ন্ত্রণ ভান্ডারে অন্তর্ভুক্ত করা উচিত নয়.env (এটি আপনার .gitignoreফাইলে যুক্ত করুন)।

.envআপনার পরিবেশে ফাইল থেকে ভেরিয়েবলগুলি পেতে , আপনি export NODE_ENV=developmentআপনার অ্যাপ্লিকেশন শুরু করার আগে ডান এর সমতুল্য করতে বাশ স্ক্রিপ্ট ব্যবহার করতে পারেন ।

#!/bin/bash
while read line; do export "$line";
done <source .env

তারপরে এটি আপনার অ্যাপ্লিকেশন জাভাস্ক্রিপ্টে যায়:

var envs = require('envs');

// If NODE_ENV is not set, 
// then this application will assume it's prod by default.
app.set('environment', envs('NODE_ENV', 'production')); 

// Usage examples:
app.set('ga_account', envs('GA_UA'));
app.set('nr_browser_key', envs('NEW_RELIC_BROWSER_KEY'));
app.set('other', envs('SOME_OTHER_TOKEN));

1
হুম, আমি এই প্যাকেজটি ব্যবহার করার চেষ্টা করেছি তবে মনে হয় এটি কেবল পরিবেশের পরিবর্তনশীল ব্যবহারকেই ট্র্যাক করে। এটি .env ফাইল ( npmjs.com/package/envs ) পড়ে না । এটি কি সঠিক প্যাকেজ?
ওয়াওকা

1
তুমি ঠিক বলছো! এটি .env ফাইলটি পড়ে না। এটা লজ্জাজনক. আমি ভুলে গিয়েছিলাম যে @ স্যামটি উল্লিখিত হিসাবে আমি একটি বাশ স্ক্রিপ্ট সহ .env লোড করছি, সুতরাং এটি যেভাবেই চলবে।
বেনকামিন

1
"( 'envs') প্রয়োজন"? "Envs" কি?
কোডিবাগস্টিন

1
'এনভিএস' একটি নোড মডিউলটির নাম: npmjs.com/package/envs
বেনকামিন

4
এছাড়াও আমি "ডোটেনভ" মডিউলটি ব্যবহার করার পরামর্শ দিচ্ছি, এটি সমস্ত ENV ভেরিয়েবলগুলি প্রসেস অবজেক্টে রেখেছিল, বেশ সুন্দর।
ব্রুনো ডি অলিভিরা

37

এটি আপনার অপারেটিং সিস্টেম এবং আপনার শেলের উপর নির্ভর করে

উপর শেল ব্যাশ সাথে Linux , আপনি এটির মতো বিভিন্ন পরিবেশের (কনসোল মধ্যে) তৈরি করুন:

export FOO=bar

উবুন্টুতে পরিবেশের পরিবর্তনশীল সম্পর্কিত আরও তথ্যের জন্য (উদাহরণস্বরূপ):

উবুন্টুতে পরিবেশের পরিবর্তনশীল


1
তারপর এই উত্তরটি দেখুন stackoverflow.com/questions/135688/...
leszek.hanusz

2
এবং উইন্ডোজ সম্পর্কে কি? আপনি এখানে যোগ করতে পারেন?
ইয়াকভএল

: আহ, কিছু মনে করবেন না, এটা মত দেখাচ্ছে উত্তর এখানে দেওয়া হচ্ছে stackoverflow.com/questions/9249830/...
YakovL

লিনাক্স ব্যাশে এই মানগুলি বজায় থাকে? টার্মিনালটি খোলা থাকাকালীন আমি যদি কেবল এটি চালাতে চাই যাতে পরে অন্যান্য অ্যাপ্লিকেশনগুলির সাথে সমস্যা না ঘটে?
জেসিবয়েড

13

Ctrlplusb যেমন বলেছিল, আমি আপনাকে প্যাকেজটি ব্যবহার করার পরামর্শ দিচ্ছি, তবে এটির dotenvআর একটি উপায় হল একটি জেএস ফাইল তৈরি করা এবং এটি আপনার অ্যাপ্লিকেশন সার্ভারের প্রথম লাইনে এটির প্রয়োজন।

env.js:

process.env.VAR1="Some value"
process.env.VAR2="Another Value"

app.js:

require('env')
console.log(process.env.VAR1) // Some value

9

উইন্ডোজ ব্যবহারকারী: মনোযোগ দিন! এই কমান্ডগুলি ইউনিক্সের জন্য প্রস্তাবিত তবে উইন্ডোজ এ সেগুলি কেবল অস্থায়ী। তারা কেবলমাত্র বর্তমান শেলের জন্য একটি পরিবর্তনশীল সেট করেছে, আপনি আপনার মেশিনটি পুনরায় চালু করার সাথে সাথে বা একটি নতুন টার্মিনাল শেল শুরু করার সাথে সাথে সেগুলি চলে যাবে।

  • SET TEST="hello world"
  • $env:TEST = "hello world"

উইন্ডোজে স্থির পরিবেশের পরিবর্তনশীল সেট করতে আপনার পরিবর্তে নিম্নলিখিত পদ্ধতির একটি ব্যবহার করতে হবে:

ক) আপনার প্রকল্পে। এনভি ফাইল - এটি সর্বোত্তম পদ্ধতি কারণ এর অর্থ হ'ল আপনি আপনার কোডটি চালাতে পারবেন সেই সিস্টেমের বিউরে আপনার পরিবেশের ভার সেট না করেই আপনার প্রকল্পটি অন্য সিস্টেমে স্থানান্তরিত করতে পারে।

  1. .envবিষয়বস্তু সহ আপনার প্রকল্প ফোল্ডারে রুটে একটি ফাইল তৈরি করুন :TEST="hello world"

  2. কিছু নোড কোড লিখুন যা সেই ফাইলটি পড়বে। আমি ডটেনভ ( npm install dotenv --save) ইনস্টল করার পরামর্শ দিচ্ছি এবং তারপরে require('dotenv').config();আপনার নোড সেটআপ কোডের সময় যুক্ত করব add

  3. এখন আপনার নোড কোড অ্যাক্সেস করতে সক্ষম হবেprocess.env.TEST

এনভি-ফাইলগুলি আপনার কোড-বেসে রাখতে চান না এমন এপিআই-কিগুলি এবং অন্যান্য গোপনীয় জিনিসগুলি রাখা ভাল। আপনার এটিতে এটি যুক্ত করার বিষয়টি নিশ্চিত করুন .gitignore

খ) পাওয়ারশেল ব্যবহার করুন - এটি এমন একটি পরিবর্তনশীল তৈরি করবে যা অন্যান্য টার্মিনালগুলিতে অ্যাক্সেসযোগ্য হবে। তবে সাবধান, ভেরিয়েবল আপনার কম্পিউটারটি পুনরায় চালু করার পরে হারিয়ে যাবে।

[Environment]::SetEnvironmentVariable("TEST", "hello world", "User")

এই পদ্ধতিটি উইন্ডোজ ফোরামে ব্যাপকভাবে প্রস্তাবিত হয়, তবে আমি মনে করি না যে লোকেরা সচেতন যে কোনও সিস্টেম পুনরায় চালু হওয়ার পরে চলকটি টিকে থাকে না ...

গ) উইন্ডোজ জিইউআই ব্যবহার করুন

  1. স্টার্ট মেনু অনুসন্ধান বা কন্ট্রোল প্যানেলে "পরিবেশ পরিবর্তনশীল" অনুসন্ধান করুন
  2. "সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলগুলি সম্পাদনা করুন" নির্বাচন করুন
  3. একটি সংলাপ খোলা হবে। কথোপকথনের নীচে "পরিবেশ পরিবর্তনশীল" বোতামটি ক্লিক করুন।
  4. ভেরিয়েবল সম্পাদনা করার জন্য এখন আপনার কাছে একটি সামান্য উইন্ডো রয়েছে। নতুন পরিবেশের পরিবর্তনশীল যুক্ত করতে কেবল "নতুন" বোতামটি ক্লিক করুন। সহজ।

8

পদক্ষেপ 1: আপনার পরিবেশের ভেরিয়েবলগুলি উপযুক্ত ফাইলগুলিতে যুক্ত করুন। উদাহরণস্বরূপ, আপনার মঞ্চ পরিবেশকে বলা যেতে পারে .env.staging, যার মধ্যে পরিবেশের ভেরিয়েবল রয়েছে USER_IDএবং USER_KEYএটি আপনার মঞ্চ পরিবেশের জন্য নির্দিষ্ট।

পদক্ষেপ 2: আপনার package.jsonফাইলে, নিম্নলিখিতগুলি যুক্ত করুন:

"scripts": {
  "build": "sh -ac '. ./.env.${REACT_APP_ENV}; react-scripts build'",
  "build:staging": "REACT_APP_ENV=staging npm run build",
  "build:production": "REACT_APP_ENV=production npm run build",
  ...
}

তারপরে এটি আপনার ডিপ্লোয় স্ক্রিপ্টে এভাবে কল করুন:

npm run build:staging

সুপার সিম্পল সেটআপ এবং কবজির মতো কাজ করে!

উত্স: https://medium.com/@tacomanator/en वातावरण- উইথ- create- react- app- 7b645312c09d


2
@ জনএক্সিয়াও কেমন আছেন?
ব্লেয়ার 23

5

উইন্ডোজ ব্যবহারকারীদের জন্য এই স্ট্যাক ওভারফ্লো প্রশ্ন এবং শীর্ষের উত্তর কমান্ড লাইনের মাধ্যমে কীভাবে পরিবেশগত ভেরিয়েবল সেট করবেন সে সম্পর্কে যথেষ্ট কার্যকর

আমি কীভাবে উইন্ডোজে NODE_ENV = উত্পাদন সেট করতে পারি?


4

এটি করার জন্য একটি দুর্দান্ত সরঞ্জাম জুড়ে এসেছিল।

নোড-env ফাইল

Node.js পরিবেশে পরিবেশ ফাইলগুলি (ENV ভেরিয়েবল রফতানি সমেত) পার্স এবং লোড করে, যেমন process.env- এই স্টাইলটি ব্যবহার করে:

.env

# some env variables

FOO=foo1
BAR=bar1
BAZ=1
QUX=
# QUUX=

2

@Ctrlplusb উত্তরের সম্প্রসারণ হিসাবে,
আমি আপনাকে env-dot-propপ্যাকেজটি একবার দেখার পরামর্শ দিচ্ছি ।

এটি আপনাকে process.envব্যবহার করে বৈশিষ্ট্য নির্ধারণ / পাওয়ার অনুমতি দেয় dot-path

আসুন ধরে নেওয়া যাক আপনার process.envমধ্যে নিম্নলিখিতগুলি রয়েছে:

process.env = {
  FOO_BAR: 'baz'
  'FOO_🦄': '42'
}

তারপরে আপনি পরিবেশের ভেরিয়েবলগুলি এমনভাবে পরিচালনা করতে পারেন:

const envDotProp = require('env-dot-prop');

console.log(process.env);
//=> {FOO_BAR: 'baz', 'FOO_🦄': '42'}

envDotProp.get('foo');
//=> {bar: 'baz', '🦄': '42'}

envDotProp.get('foo.🦄');
//=> '42'

envDotProp.get('foo.🦄', {parse: true});
//=> 42

envDotProp.set('baz.foo', 'bar');
envDotProp.get('', {parse: true});
//=> {foo: {bar: 'baz', '🦄': 42}, baz: {foo: 'bar'}}

console.log(process.env);
//=> {FOO_BAR: 'baz', 'FOO_🦄': '42', BAZ_FOO: 'bar'}

envDotProp.delete('foo');
envDotProp.get('');
//=> {baz: {foo: 'bar'}}

console.log(process.env);
//=> {BAZ_FOO: 'bar'}

এটি আপনাকে পরিবেশের ভেরিয়েবলগুলি পার্স করতে এবং সেগুলিকে আপনার অ্যাপ্লিকেশনটিতে একটি কনফিগার অবজেক্ট হিসাবে ব্যবহার করতে সহায়তা করে।
এটি আপনাকে 12-ফ্যাক্টর কনফিগারেশন প্রয়োগ করতে সহায়তা করে ।


2

পরিবেশের পরিবর্তনশীলগুলি সফলভাবে ব্যবহার করার একটি খুব ভাল উপায় নীচে:

উ : বিভিন্ন কনফিগার ফাইল আছে :

  1. dev.js // এর
    কেবল বিকাশের জন্য সমস্ত পরিবেশের পরিবর্তনশীল রয়েছে ফাইলটিতে রয়েছে:

    module.exports = {
     ENV: 'dev',
     someEnvKey1 : 'some DEV Value1',
     someEnvKey2 : 'some DEV Value2'
    };
  2. পর্যায়.জেএস // এটির উন্নয়নের জন্য সমস্ত পরিবেশের পরিবর্তনশীল রয়েছে

    ..
  3. qa.js // এটিকে
    কেবল qa পরীক্ষার জন্য সমস্ত পরিবেশের পরিবর্তনশীল রয়েছে ফাইলটিতে রয়েছে:

    module.exports = {
     ENV: 'dev',
     someEnvKey1 : 'some QA Value1',
     someEnvKey2 : 'some QA Value2'
    };

দ্রষ্টব্য : মানগুলি পরিবেশের সাথে পরিবর্তিত হচ্ছে বেশিরভাগ ক্ষেত্রে, তবে কীগুলি একই থাকে same

  1. আপনি আরও পেতে পারেন

  2. z__prod.js // এতে উত্পাদন / লাইভের জন্য সমস্ত পরিবেশের ভেরিয়েবল রয়েছে
    নোট: এই ফাইলটি কখনও মোতায়েনের জন্য বান্ডিল হয় না

  3. এই সমস্ত কনফিগার ফাইলগুলিকে / কনফিগারেশন / ফোল্ডারে রাখুন

    <projectRoot>/config/dev.js
    <projectRoot>/config/qa.js
    <projectRoot>/config/z__prod.js
    <projectRoot>/setenv.js
    <projectRoot>/setenv.bat
    <projectRoot>/setenv.sh

বিঃদ্রঃ : প্রোডের নামটি অন্যের চেয়ে আলাদা, কারণ এটি ব্যবহার করে না।

বি। কনফিগারেশন ফাইল থেকে ওএস / লাম্বদা / অ্যাজুরিফংশন / গুগলক্লাউডফঞ্চন এনভায়রনমেন্ট ভেরিয়েবল সেট করুন

এখন আদর্শভাবে, ফাইলগুলিতে এই কনফিগার ভেরিয়েবলগুলি ওএস এনভায়রনমেন্ট ভেরিয়েবল (বা, LAMBDA ফাংশন ভেরিয়েবল, বা, অ্যাজুরে ফাংশন ভেরিয়েবল, গুগল ক্লাউড ফাংশন ইত্যাদি) হিসাবে চলবে)

সুতরাং, আমরা উইন্ডোজ ওএসে (বা অন্য) অটোমেশন লিখি

  1. ধরা যাক আমরা ' সেটিংভ ' ব্যাট ফাইলটি লিখি , যা একটি যুক্তি নেয় যা পরিবেশকে আমরা সেট করতে চাই

  2. এখন " সেতাভ দেব " চালান

ক) এটি পাস হওয়া আর্গুমেন্ট ভেরিয়েবল থেকে ইনপুট নেয় (এখনকার জন্য 'দেব)
খ) সংশ্লিষ্ট ফাইলটি পড়ুন (' কনফিগার \ দেব.জেএস ')
সি) উইন্ডোজ ওএসে পরিবেশের পরিবর্তনশীল সেট করে (বা অন্য)

উদাহরণ স্বরূপ,

Setenv.bat সামগ্রীগুলি হতে পারে:

    node setenv.js

Setenv.js বিষয়বস্তু হতে পারে:

    // import "process.env.ENV".js file (dev.js example)
    // loop the imported file contents
    //     set the environment variables in Windows OS (or, Lambda, etc.)

এখানেই শেষআপনার পরিবেশটি ব্যবহারের জন্য প্রস্তুত

আপনি যখন ' সেটিংভ ' করেন ' করেন, তখন সমস্ত কিউ এনভায়রনমেন্ট ভেরিয়েবলগুলি Qa.js থেকে ব্যবহারের জন্য প্রস্তুত হবে এবং একই প্রোগ্রামের দ্বারা ব্যবহারের জন্য প্রস্তুত থাকবে (যা সর্বদা প্রসেস.েনভ.সোমেনভকি 1 এর জন্য জিজ্ঞাসা করে তবে এটির মানটি কিউএ এক হয়)।

আশা করি এইটি কাজ করবে.


1

ডটেনভ-ওয়েবপ্যাক দিয়ে আপনার জীবনকে আরও সহজ করুন । কেবল এটি ইনস্টল করুন npm install dotenv-webpack --save-dev, তারপরে .envআপনার অ্যাপ্লিকেশনটির মূলটিতে একটি ফাইল তৈরি করুন (এটি আপনার .gitignoreআগে যুক্ত করতে মনে রাখবেন git push)। এই ফাইলটি খুলুন এবং সেখানে কিছু পরিবেশগত পরিবর্তনশীল সেট করুন, যেমন:

ENV_VAR_1=1234
ENV_VAR_2=abcd
ENV_VAR_3=1234abcd

এখন, আপনার ওয়েবপ্যাক কনফিগারেশনে যুক্ত করুন:

const Dotenv = require('dotenv-webpack');
const webpackConfig = {
  node: { global: true, fs: 'empty' }, // Fix: "Uncaught ReferenceError: global is not defined", and "Can't resolve 'fs'".
  output: {
    libraryTarget: 'umd' // Fix: "Uncaught ReferenceError: exports is not defined".
  },
  plugins: [new Dotenv()]
};
module.exports = webpackConfig; // Export all custom Webpack configs.

শুধুমাত্র const Dotenv = require('dotenv-webpack');, plugins: [new Dotenv()]এবং অবশ্যই module.exports = webpackConfig; // Export all custom Webpack configs.প্রয়োজন। তবে কিছু পরিস্থিতিতে আপনি কিছু ত্রুটি পেতে পারেন। এগুলির জন্য আপনার সমাধান রয়েছে পাশাপাশি আপনি নির্দিষ্ট ত্রুটিটি কীভাবে ঠিক করতে পারবেন তা বোঝায়।

এখন, আপনি যেখানেই থাকুন না আপনি কেবল ব্যবহার করতে পারেন চান process.env.ENV_VAR_1, process.env.ENV_VAR_2, process.env.ENV_VAR_3আপনার অ্যাপ্লিকেশনের মধ্যে।


0

একটি সিস্টেম এনভ ভার্সা সেট করার পরে আমি অপরিজ্ঞাত হয়ে যাচ্ছিলাম। আমি যখন ইউজার এনভিআর ভারতে APP_VERSION রাখি, তারপরে আমি ন্যাসড থেকে মানটি প্রক্রিয়া.এনভি.এইপি.পি.পি._ ভার্সনের মাধ্যমে প্রদর্শন করতে পারি


-1

আপনি যদি ম্যাক / লিনাক্স ব্যবহার করে থাকেন এবং আপনি যে মেশিনটি ব্যবহার করছেন তার স্থানীয় প্যারামিটারগুলি পুনরুদ্ধার করতে চান তবে আপনি যা করবেন তা এই:

  1. টার্মিনাল রান ন্যানো / .বাশ_প্রফাইলে
  2. একটি লাইন যুক্ত করুন: MY_VAR = var রফতানি করুন
  3. সংরক্ষণ করুন এবং চালান উত্স। / .bash_profile
  4. নোডে ব্যবহারের মতো: কনসোল.লগ ( প্রক্রিয়া.এনভিএমওয়াই_ভিএআর );
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.