簡體   English   中英

使用 JOI 獲取環境變量

[英]Get Environment Variable with JOI

我正在使用joi來構造數據。
現在我無法讀取啟動時設置的環境變量。

我有一個啟動 scrip.sh,例如:

PUBLIC_KEY="$(cat public_key.pem) docker-compose up --build"

然后我嘗試讀取那個PUBLIC_KEY變量。

const envVariables = joi.object({
 PUBLIC_KEY: joi.string()
    .default('PUBLIC_KEY')
})

我認為這會自動識別變量,但事實並非如此。
是否可以在使用 Joi 啟動時設置變量?

您可以使用process核心模塊獲取環境變量。 文檔中:

Node.js 的進程核心模塊提供了 env 屬性,該屬性托管在進程啟動時設置的所有環境變量。

例如,

const pubKey = process.env.PUBLIC_KEY
  1. Joi提供變量,至少以您想要的方式
  2. 如果它由 CLI arguments 提供,則從process使用它,或者另外使用dotenv.config().env文件中同步讀取
  3. 如果您需要在 Joi 模式邏輯中讀取一些先前的值,例如對於某些條件,您可以嘗試這個示例
var schema = {
    a: Joi.string(),
    b: Joi.string(),
    c: Joi.string().when('a', { is: 'avalue', then: Joi.string().required() }).concat(Joi.string().when('b', { is: 'bvalue', then: Joi.string().required() }))
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM