簡體   English   中英

在nodejs中使用module.exports或exports根據環境獲取字符串

[英]Get string depending on the environment using module.exports or exports in nodejs

我是 NodeJs 的新手,我只是找不到合適的問題、文章、博客文章,以及我需要做什么。

基本上我想要一個 function 或一個根據環境(即生產和開發)為我的 Stripe 鍵返回字符串的變量。

我的config.js中有這個

// config.js
const dotenv = require("dotenv")
dotenv.config()

const stripeSK = function getStripeSK() {
  if (process.env.NODE_ENV === "production") {
    return "a"
  } else {
    return "b"
  }
}

module.exports = {
  stripeSK: stripeSK,
  accessLevels: {
    user: "user",
    admin: "admin"
  },
  JWT_SECRET: "somesecret",
  port: process.env.PORT,
  pool: {
    max: 5,
    min: 0,
    acquire: 30000,
    idle: 10000
  },
  "development": {
    "username": process.env.DEV_DB_USERNAME,...
   ...

但是我從console.log()得到的是[Function: getStripeSK]

這樣做的正確方法是什么?

在您的代碼stripeSK被分配了一個 function。 導出它時,您需要調用它,而不僅僅是重新分配。 例如:

module.exports = {
  stripeSK: stripeSK(),
  accessLevels: {
  ... 

此外,您可以完全跳過裝箱 function 並可以執行以下操作:

stripeSK: process.env.NODE_ENV === 'production' ? 'a': 'b'

因為您沒有調用 function { stripeSK: stripeSK, ... }

它應該是這樣的:

{
  stripeSK: stripeSK(),
  ...
}

暫無
暫無

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

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