Երբևէ հայտնվե՞լ եք այնպիսի իրավիճակում, երբ ձեր հավելվածի զարգացման տարբեր փուլերի համար անհրաժեշտ են հարմարեցված միջավայրի փոփոխականներ: Ահա մի տողով լուծում
Մշակումը շատ ավելի հեշտ է եղել .env
ֆայլի գյուտից ի վեր: Դուք կարող եք հեշտությամբ սահմանել ձեր միջավայրի փոփոխականները և արժեքները ENV_VARIABLE=VALUE
շարահյուսությամբ և բումով: Այս փոփոխականները բեռնվել են որպես ձեր միջավայրի փոփոխականներ՝ հնարավոր դարձնելով դրանց արագ մուտքը.
console.log(process.env.ENV_VARIABLE)
Եթե դուք դեռ մտածում եք, թե ինչ է նշանակում այս ամենը, լավ, դուք, հավանաբար, նոր եք .env
ֆայլում: Դա իրականում պարզ կազմաձևման տեքստային ֆայլ է, որն օգտագործվում է որոշ փոփոխականներ սահմանելու համար, որոնք ցանկանում եք փոխանցել ձեր հավելվածի միջավայր:
Այս ֆայլին անհրաժեշտ է վերլուծիչի նման մի բան, որպեսզի այն աշխատի: Վերլուծիչը կարդում է փոփոխականների սահմանումները մեկ առ մեկ և վերլուծում դրանք շրջակա միջավայրին: Այն օգտագործում է ENV_VARIABLE=VALUE ձևաչափը (Node.js-ի դեպքում՝ process.env[ENV_VARIABLE]=VALUE
):
Իհարկե, սա Node.js-ում ներկառուցված հատկություն չէ: Դուք պետք է այն մշակեք հանրաճանաչ մոդուլի միջոցով, որը կոչվում է dotenv:
Դա լավ լուծում է, քանի որ այն իսկապես հեշտացրել է զարգացումը համահեղինակ մշակողների և ընդհանուր առմամբ մշակողների համայնքի միջև: Անձամբ ես օգտագործում էի dotenv մոդուլը, մինչև որ մոլորվեցի` փորձելով գտնել լուծում, որը կարող էր ստիպել ինձ օգտագործել այլ կազմաձևման ֆայլ որոշակի միջավայրի համար: Դա նույնիսկ ավելի թույն կլիներ… չէ՞: Այո՛ Բայց ցավոք, dotenvմոդուլը մեզ չի տալիս այս լավը:
Ուրեմն ի՞նչ է հաջորդը: Մեզ անհրաժեշտ է այս բանը, որպեսզի հեշտացնենք մշակումն ու փորձարկումը զարգացման տարբեր փուլերում
Ի՞նչ կասեք մաքսային .env ֆայլերի մասին տարբեր միջավայրի փուլերի համար:
Չե՞ք կարծում, որ դա լավ լուծում կլինի: Սահմանո՞ւմ եք հարմարեցված միջավայրի փոփոխականներ՝ պարզապես ստեղծելով .env.envname ֆայլ: Հիասքանչ Դա այն է, ինչ եկել է custom-env:
Custom env-ը գրադարան է, որը ստեղծվել է զարգացումն ավելի դյուրին դարձնելու համար՝ թույլատրելով բազմաթիվ .env կոնֆիգուրացիա տարբեր միջավայրերի համար: Սա արվում է .env.envname ֆայլից միջավայրի փոփոխականները բեռնելով հանգույցի process.env
օբյեկտում:
Տեղադրում
Պարզապես վերցրեք այն հետևյալ հրամանով.
npm i custom-env
Օգտագործումը
require('custom-env').env()
Լռելյայնորեն, custom-env ընտրում է .env ֆայլը ձեր մշակողի փուլի համար: Այնուամենայնիվ, մեկ այլ փուլի համար հարմարեցնելու համար ավելացրեք անունը որպես վերջածանց, ինչպես .env.envname:-ում:
Օրինակ
Մենք կարող ենք սահմանել հարմարեցված միջավայրի փոփոխական բեմադրման մշակման համար
- Ստեղծեք .env.staging ֆայլ
- Սահմանեք ձեր փոփոխականները
APP_ENV=staging APP_NAME=custom environment app DB_HOST=localhost DB_USER=user DB_PASS=pass
- Մուտք գործեք ձեր փոփոխականները
// Require custom-env and set your preferred env file require ('custom-env').env('staging') console.log(process.env.APP_ENV) console.log(process.env.APP_NAME) console.log(process.env.DB_HOST) console.log(process.env.DB_PASS)
Սպասվող արդյունք
staging custom environment app localhost user pass
Դա այն է, բավականին հեշտ: Ազատորեն սահմանեք ավելի շատ փոփոխականներ տարբեր փուլերի համար, որոնք դուք կարծում եք, որ ունեք, օրինակ՝
.env.testing, .env.staging, .env.server1, .env.server2, .env.localhost
Սահմանել ընթացիկ միջավայրը
Դուք կարող եք ասել custom-env-ին օգտագործել այնպիսի կազմաձև, որը համապատասխանում է ձեր զարգացման ընթացիկ փուլին` փոխանցելով trueenv()
մեթոդ.
Օրինակ
Ֆայլ՝ index.js
// Pass true to env() to make it use the current environment stage. require('custom-env').env(true) console.log(process.env.APP_NAME) console.log(process.env.USERNAME) console.log(process.env.PASSKEY)
Այժմ եկեք սահմանենք բեմականացման կազմաձևման ֆայլ.
Ֆայլ՝ .env.staging
APP_NAME=Staging Node App USER_NAME=John PASSKEY=J*h*
Այժմ եկեք սպասարկենք հանգույցը բեմական միջավայրով.
NODE_ENV=staging node index.js
Սպասվող արդյունք
Ահա՛,
Ամբողջական փաստաթղթեր
custom-env-ի ամբողջական փաստաթղթերի համարայցելեք npm էջըhttps://www.npmjs.com/package/custom-env
Աղբյուրի կոդը
Դուք կարող եք ստանալ կամ նպաստել custom-envաղբյուրային կոդը https://github.com/erisanolasheni/custom-env հասցեով:
Ուրախ կոդավորում