การตั้งค่าตัวแปรสภาพแวดล้อมสำหรับโหนดเพื่อดึงข้อมูล


414

ฉันพยายามที่จะติดตามการกวดวิชาและมันบอกว่า:

มีวิธีโหลดหนังสือรับรองอยู่สองสามวิธี

  1. โหลดจากตัวแปรสภาพแวดล้อม
  2. โหลดจากไฟล์ JSON บนดิสก์

กุญแจจะต้องมีดังนี้:

USER_ID, USER_KEY

... ซึ่งหมายความว่าหากคุณตั้งค่าตัวแปรสภาพแวดล้อมอย่างเหมาะสมคุณไม่จำเป็นต้องจัดการข้อมูลประจำตัวในแอปพลิเคชันของคุณเลย

จาก Googling บางตัวปรากฏว่าฉันจำเป็นต้องตั้งค่าตัวแปรเป็นprocess.env? ฉันจะตั้งค่าข้อมูลรับรองเหล่านี้ได้อย่างไรและที่ไหน ตัวอย่างได้โปรด

คำตอบ:


397

ตัวแปรสภาพแวดล้อม (ในกรณีนี้) กำลังถูกใช้เพื่อส่งผ่านข้อมูลรับรองไปยังแอปพลิเคชันของคุณ USER_IDและUSER_KEYสามารถเข้าถึงได้ทั้งจากprocess.env.USER_IDและprocess.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 node.js
SilentSteel

1
ฉันพบว่าฉันต้องลบเครื่องหมายคำพูดรอบ "*" เพื่อให้ทำงานได้:env DEBUG=* node some_file.js
divillysausages

@SamT จะตั้งค่าตัวแปรเหล่านี้ใน Ubuntu linux อย่างไร?
Mohammed Zameer

1
เป็นไปได้หรือไม่ที่จะเพิ่มไฟล์แทนที่จะเพิ่มสคริปต์ env จำนวนมากหรือผู้ใช้ยูนิกซ์จำเป็นต้องสร้างสคริปต์ทุบตี?
mibbit

@ micbit ใช่นั่นคือสิ่งที่dotenvเป็นเรื่องเกี่ยวกับมันจะอ่าน.envไฟล์ของคุณและนำไปใช้
balexandre

200

ฉันขอแนะนำให้ดูในแพ็คเกจ dotenv

https://github.com/motdotla/dotenv

มันคล้ายกับห้องสมุดที่แนะนำในคำตอบจาก @Benxamin แต่มันสะอาดกว่าและไม่ต้องใช้สคริปต์ทุบตี นอกจากนี้ยังมีข้อสังเกตว่ารหัสฐานนั้นได้รับความนิยมและได้รับการดูแลอย่างดี

โดยทั่วไปคุณต้องใช้ไฟล์. env (ซึ่งฉันขอแนะนำอย่างยิ่งให้ไม่สนใจ git / mercurial / etc ของคุณ):

FOO=bar
BAZ=bob

จากนั้นในไฟล์รายการแอปพลิเคชันของคุณให้ป้อนบรรทัดต่อไปนี้โดยเร็วที่สุด:

require('dotenv').config();

ความเจริญ เสร็จสิ้น 'process.env' จะมีตัวแปรข้างต้น:

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

ไม่จำเป็นต้องใช้ไฟล์ '.env' ดังนั้นคุณไม่ต้องกังวลว่าแอพของคุณจะล้มเหลว


1
แม้ว่าคุณจะใส่รายละเอียดการกำหนดค่าที่เกี่ยวข้องซึ่งแอพของคุณต้องการ (เช่นคำถามนี้กำลังสอบถาม) ก็มีแนวโน้มว่ามันจะล้มลงในกรณีที่ไม่มี .. แต่มันก็ดูเหมือนจะเป็นตัวเลือกที่ดี
John

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
เพิ่งเพิ่มว่ามันทำงานได้สำหรับฉันบน Windows ด้วย bash shell (cygwin; ติดตั้งด้วยเครื่องมือคอมไพล์ฉันคิดว่า)
markau

@TiborSzasz: Cygwin หรือ Powershell ควรแก้ไขปัญหานั้น แน่นอนถูกกล่าวถึงสองปีต่อมาแน่นอน
orlando marinella

9
สำหรับการใช้งาน Windows: SET USER_ID = 'abc'
Mike

@ ไมค์คุณควรให้คำตอบที่เหมาะสม :)
rocketspacer

6
เราสามารถใช้แพคเกจข้าม env ( npmjs.com/package/cross-env ) เพื่อให้ทำงานบนยูนิกซ์หรือ windwos
Brij

79

คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมผ่านกระบวนการโกลบอลตัวแปรดังต่อไปนี้:

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

ทำงานได้ในทุกแพลตฟอร์ม


22
... ตัวแปรสภาพแวดล้อมมีจุดประสงค์เพื่อตั้งค่าจากด้านนอกของรหัสไม่ใช่ภายใน - ดังนั้นนี่คือการเอาชนะวัตถุประสงค์และเป็นตัวอย่างที่ไม่ดี
Soren

44
@Soren โปรแกรมโหนดของเราที่เปิดใช้กระบวนการเด็กได้รับประโยชน์จากคำตอบนี้ดังนั้นจึงมีกรณีการใช้งานสำหรับสิ่งนี้แม้ว่าจะเป็นเพียงเล็กน้อยนอกรีต
pspi

2
@pspi - ฉัน 99% ว่าคุณกำลังทำมันผิดและถ้าคุณเป็นผู้เขียนของแพคเกจการตั้งค่าเช่นนี้คุณควรจะใช้การตั้งค่าแพคเกจดังกล่าวแทน
Soren

17
สิ่งนี้มีประโยชน์หากคุณกำลังเขียนสคริปต์สร้างใน js และเรียกใช้สคริปต์จาก npm
สตีเฟ่น Drew

28
สิ่งนี้ยังมีประโยชน์สำหรับการตั้งค่าและการเอาชนะสภาพแวดล้อมเมื่อทำการทดสอบ
mtkopone

54

หากคุณต้องการตัวเลือกการจัดการลองแพคเกจenvs NPM มันคืนค่าสภาพแวดล้อมถ้าพวกเขามีการตั้งค่า มิฉะนั้นคุณสามารถระบุค่าเริ่มต้นที่เก็บไว้ในค่าเริ่มต้นทั่วโลกตัวแปรวัตถุหากไม่ได้อยู่ในสภาพแวดล้อมของคุณ

ใช้. env ("dot ee-en-vee") หรือไฟล์สภาพแวดล้อมนั้นดีสำหรับหลาย ๆ เหตุผล บุคคลอาจจัดการการกำหนดค่าของตนเอง คุณสามารถปรับใช้สภาพแวดล้อมที่แตกต่างกัน (dev, stage, prod) กับบริการคลาวด์ด้วยการตั้งค่าสภาพแวดล้อมของตนเอง และคุณสามารถตั้งค่าเริ่มต้นที่เหมาะสม

ใน.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ไฟล์ในสภาพแวดล้อมของคุณคุณสามารถใช้ bash script เพื่อทำสิ่งที่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 ) มันเป็นแพคเกจที่ถูกต้อง?
wawka

1
คุณถูก! มันไม่ได้อ่านไฟล์. env นี่เป็นเรื่องน่าอาย ฉันลืมว่าฉันกำลังโหลด. env พร้อมกับทุบตีสคริปต์ตามที่ @SamT พูดถึงดังนั้นจึงทำงานได้
เบ็นซามิน

1
"ต้องการ ( 'Envs')"? "envs" คืออะไร?
CodyBugstein

1
'envs' เป็นชื่อของโมดูลโหนด: npmjs.com/package/envs
Benxamin

4
นอกจากนี้ฉันขอแนะนำให้ใช้โมดูล "dotenv" ซึ่งจะนำตัวแปร ENV ทั้งหมดไปไว้ในวัตถุ proccess ซึ่งค่อนข้างเรียบร้อย
Bruno de Oliveira

37

ขึ้นอยู่กับระบบปฏิบัติการและเชลล์ของคุณ

บนlinux ด้วย shell bashคุณสร้างตัวแปรสภาพแวดล้อมเช่นนี้ (ในคอนโซล):

export FOO=bar

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรสภาพแวดล้อมบน Ubuntu (ตัวอย่าง):

ตัวแปรสภาพแวดล้อมบน Ubuntu


1
จากนั้นดูคำตอบนี้: stackoverflow.com/questions/135688/…
leszek.hanusz

2
แล้ว Windows ล่ะ คุณช่วยเพิ่มที่นี่ได้ไหม
YakovL

อาไม่เป็นไรดูเหมือนว่ามันจะตอบที่นี่: stackoverflow.com/questions/9249830/…
YakovL

ใน Linux ทุบตีค่าเหล่านี้ยังคงอยู่? จะทำอย่างไรถ้าฉันต้องการเรียกใช้เฉพาะในขณะที่เทอร์มินัลเปิดอยู่เพื่อไม่ให้เกิดปัญหากับแอปพลิเคชันอื่นในภายหลัง
JesseBoyd

13

เช่นเดียวกับ ctrlplusb กล่าวว่าฉันขอแนะนำให้คุณใช้แพ็คเกจ dotenvแต่อีกวิธีในการทำเช่นนี้คือการสร้างไฟล์ js และกำหนดให้ใช้ในบรรทัดแรกของเซิร์ฟเวอร์แอปของคุณ

env.js:

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

app.js:

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

9

ผู้ใช้ Windows: ให้ความสนใจ! คำสั่งเหล่านี้แนะนำสำหรับ Unix แต่สำหรับ Windows คำสั่งเหล่านี้เป็นเพียงชั่วคราว พวกเขาตั้งค่าตัวแปรสำหรับเชลล์ปัจจุบันเท่านั้นทันทีที่คุณรีสตาร์ทเครื่องหรือเริ่มเทอร์มินัลเชลล์ใหม่พวกเขาจะหายไป

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

ในการตั้งค่าตัวแปรสภาพแวดล้อมแบบถาวรบน Windows คุณต้องใช้หนึ่งในวิธีต่อไปนี้:

A) ไฟล์. env ในโครงการของคุณ - นี่เป็นวิธีที่ดีที่สุดเพราะจะทำให้คุณสามารถย้ายโครงการของคุณไปยังระบบอื่น ๆ โดยไม่ต้องตั้งค่า vars สภาพแวดล้อมของคุณบนระบบนั้น

  1. สร้าง.envไฟล์ในรูทโฟลเดอร์โครงการของคุณด้วยเนื้อหา:TEST="hello world"

  2. เขียนรหัสโหนดที่จะอ่านไฟล์นั้น ฉันแนะนำให้ติดตั้ง dotenv ( npm install dotenv --save) แล้วเพิ่มrequire('dotenv').config();ระหว่างรหัสการตั้งค่าโหนดของคุณ

  3. ตอนนี้โค้ดโหนดของคุณจะสามารถเข้าถึงได้process.env.TEST

ไฟล์ Env คือการรักษาคีย์ api-key และความลับอื่น ๆ ที่คุณไม่ต้องการให้มีใน code-base ของคุณ .gitignoreเพียงให้แน่ใจว่าจะเพิ่มไปยังคุณ

B) ใช้ Powershell - สิ่งนี้จะสร้างตัวแปรที่สามารถเข้าถึงได้ในเทอร์มินัลอื่น แต่ระวังตัวแปรจะหายไปหลังจากที่คุณรีสตาร์ทคอมพิวเตอร์

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

วิธีการนี้ได้รับการแนะนำอย่างกว้างขวางในฟอรัม Windows แต่ฉันไม่คิดว่าผู้คนจะรับรู้ว่าตัวแปรไม่คงอยู่หลังจากรีสตาร์ทระบบ ....

C) ใช้ Windows GUI

  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/environment-with-create-react-app-7b645312c09d


2
@JohnXiao เป็นไงบ้าง?
Blairg23


4

มาในเครื่องมือที่ดีสำหรับการทำเช่นนี้

โหนด env ไฟล์

แยกวิเคราะห์และโหลดไฟล์สภาพแวดล้อม (ที่มีการส่งออกตัวแปร ENV) ลงในสภาพแวดล้อมของ Node.js เช่นprocess.env- ใช้สไตล์นี้:

.env

# some env variables

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

2

เนื่องจากการขยายคำตอบ @ctrlplusb
ฉันขอแนะนำให้คุณดูenv-dot-propแพ็คเกจด้วย

จะช่วยให้คุณตั้ง / ได้รับคุณสมบัติจากการใช้process.envdot-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

วิธีที่ดีมากในการทำตัวแปรสภาพแวดล้อมที่ฉันใช้สำเร็จอยู่ด้านล่าง:

A. มีไฟล์ปรับแต่งต่าง ๆ :

  1. dev.js // นี่มีตัวแปรสภาพแวดล้อมทั้งหมดสำหรับการพัฒนาเท่านั้น
    ไฟล์ประกอบด้วย:

    module.exports = {
     ENV: 'dev',
     someEnvKey1 : 'some DEV Value1',
     someEnvKey2 : 'some DEV Value2'
    };
  2. stage.js // นี่มีตัวแปรสภาพแวดล้อมทั้งหมดสำหรับการพัฒนาเท่านั้น

    ..
  3. qa.js // นี่มีตัวแปรสภาพแวดล้อมทั้งหมดสำหรับการทดสอบ qa เท่านั้น
    ไฟล์ประกอบด้วย:

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

หมายเหตุ : ค่ากำลังเปลี่ยนแปลงไปตามสภาพแวดล้อมส่วนใหญ่ แต่ปุ่มยังคงเหมือนเดิม

  1. คุณสามารถมีมากขึ้น

  2. z__prod.js // นี่มีตัวแปรสภาพแวดล้อมทั้งหมดสำหรับการผลิต / ถ่ายทอดสดเท่านั้น
    หมายเหตุ: ไฟล์นี้จะไม่ถูกรวมสำหรับการปรับใช้

  3. ใส่ไฟล์ปรับแต่งทั้งหมดเหล่านี้ใน / config / โฟลเดอร์

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

หมายเหตุ : ชื่อของ prod นั้นแตกต่างจากชื่ออื่นเนื่องจากจะไม่ถูกใช้โดยทุกคน

B. ตั้งค่าตัวแปรสภาพแวดล้อม OS / Lambda / AzureFunction / GoogleCloudFunction จากไฟล์ปรับแต่ง

ตอนนี้ความนึกคิดตัวแปรกำหนดค่าในไฟล์ควรเป็นตัวแปรสภาพแวดล้อมระบบปฏิบัติการ (หรือตัวแปรฟังก์ชัน LAMBDA หรือตัวแปรฟังก์ชัน Azure, ฟังก์ชั่น Google Cloud ฯลฯ )

ดังนั้นเราจึงเขียนระบบอัตโนมัติใน Windows OS (หรืออื่น ๆ )

  1. สมมติว่าเราเขียนไฟล์ค้างคาว ' setenv ' ซึ่งรับหนึ่งอาร์กิวเมนต์ที่เป็นสภาพแวดล้อมที่เราต้องการตั้งค่า

  2. ตอนนี้เรียกใช้ " setenv dev "

a) สิ่งนี้ใช้อินพุตจากตัวแปรอาร์กิวเมนต์ที่ส่งผ่าน ('dev' สำหรับตอนนี้)
b) อ่านไฟล์ที่เกี่ยวข้อง ('config \ dev.js')
c) ตั้งค่าตัวแปรสภาพแวดล้อมใน Windows OS (หรืออื่น ๆ )

ตัวอย่างเช่น,

เนื้อหา 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.)

เพียงเท่านี้สภาพแวดล้อมของคุณก็พร้อมใช้งานแล้ว

เมื่อคุณทำ ' setenv qa ' ตัวแปรสภาพแวดล้อม qa ทั้งหมดจะพร้อมใช้งานจาก qa.js และพร้อมใช้งานโดยโปรแกรมเดียวกัน (ซึ่งมักจะถามหา process.env.someEnvKey1 แต่ค่าที่ได้รับคือ qa หนึ่ง)

หวังว่าจะช่วย


1

ทำให้ชีวิตของคุณง่ายขึ้นด้วยdotenv-webpack เพียงแค่ติดตั้งnpm install dotenv-webpack --save-devจากนั้นสร้าง.envไฟล์ในรูทของแอปพลิเคชันของคุณ (อย่าลืมเพิ่มไฟล์นี้.gitignoreก่อนคุณgit push) เปิดไฟล์นี้และตั้งค่าตัวแปรสภาพแวดล้อมที่นั่นเช่น:

ENV_VAR_1=1234
ENV_VAR_2=abcd
ENV_VAR_3=1234abcd

ตอนนี้ใน webpack config ของคุณเพิ่ม:

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

ฉันไม่ได้กำหนดหลังจากตั้งค่าระบบ env var เมื่อฉันใส่ APP_VERSION ใน User env var ฉันสามารถแสดงค่าจากโหนดผ่าน process.env.APP_VERSION


-1

หากคุณใช้ mac / linux และต้องการดึงข้อมูลพารามิเตอร์ในเครื่องไปยังเครื่องที่คุณใช้งานอยู่นี่คือสิ่งที่คุณจะทำ:

  1. ในการทำงานของเครื่อง nano ~ / .bash_profile
  2. เพิ่มบรรทัดที่ชอบ: ส่งออก MY_VAR = var
  3. บันทึกและเรียกใช้ ซอร์ส ~ / .bash_profile
  4. ในการใช้งานโหนดเช่น: console.log ( process.env.MY_VAR );
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.