最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何更新模块。如何正确导出?

网站源码admin22浏览0评论

如何更新模块。如何正确导出?

如何更新模块。如何正确导出?

我有这个文件,其中存储了一些环境变量。我们称之为generalEnv.js

module.exports = {
  CONSTANT_1: process.env.CONSTANT_1,
  CONSTANT_2: process.env.CONSTANT_2
};

当应用程序初始化时,我没有将process.env.CONSTANT_1的值放入env变量中,因为如果存在的话,我必须首先检查某些地方(例如mongodb)。如果mongodb上不存在此值,我将在process.env.CONSTANT_1中添加一个值,并期望该值现在反映在generalEnv上。

[当我尝试访问另一个文件中的CONSTANT_1时。让我们称之为getConstantOne.js

const { CONSTANT_1 } = require('./generalEnv');

module.exports = () => {
  // I was expecting that CONSTANT_1 will have a value here now
  if(!CONSTANT_1) {
    // do something
  }

  return CONSTANT_1
}

它不反映..如何更新process.env.CONSTANT_1的generalEnv.js的闭包以反映在CONSTANT_1上?

回答如下:let a = 0; let b = a; a = 1;

b怎么了?答:它的值为0。

要解决此问题,我们需要某种方法来修改值而不是替换它。不幸的是,“原始类型”(字符串/数字/布尔值等)无法在javascript中进行修改。但是,有些类型可以修改,例如对象。您可以通过将变量包装在称为“ env”的对象中来解决此问题。

let env: { CONSTANT_1: process.env.CONSTANT_1, CONSTANT_2: process.env.CONSTANT_2 } modules.exports = { env }

然后进行修改:

env.CONSTANT_1 = "new value"

并访问:

if (!env.CONSTANT_1) { ... }
发布评论

评论列表(0)

  1. 暂无评论