繁体   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