是否可以在 NodeJs 中"save"变量值?



我有一个网站,我希望客户能够通过设置 var live = true; ,然后设置网页以显示是否为真,从而使他们的网站上线。我不想将live变量保存在数据库中(仅为此的集合没有意义(。有没有办法在 NodeJS 中为变量赋一个永久值?

当然,您可以使用环境变量。启动 NodeJs 服务时,可以传递这样的变量,

LIVE=true node server.js 

然后从像这样的任何地方从应用程序访问它,

var live = process.env.LIVE

但是,我建议您使用特定于环境的配置文件来实现您的目的。通过这样做,您可以根据执行环境(QA、DEV、STAGEAGING、PRODUCTION 等(更改 LIVE 变量。

您可以使用所需的配置定义 json 文件,

{
    "LIVE": true,
    // More variables can be defined here
}

并将文件存储在绝对路径(而不是本地存储库中(中,例如/usr/local/my_configs//etc/my_confs/

然后importrequire配置文件,类似于需要.js文件的方式。

喜欢这个

var my_config = require('/etc/my_confs/my_conf.json');
const LIVE = my_config.LIVE;

您无法完全保存它,但可以从环境文件(或(环境变量中读取。喜欢.env.

要更改变量,必须配置环境变量。

.env(本地(:

LIVE=TRUE

在云中,您将具有 GUI 设置,您可以在其中配置变量。

然后,您可以简单地将变量设置为:

var live = process.env.LIVE;

要求您的客户手动设置变量。大多数情况下,您必须限制它们的可访问性

您可以在nodejs中使用YAML模块。

default:
  server:
    port: 6379                # server port
    live: true                # option for live

您可以读取这些值并写入这些值。 它更快, 您想要的安全方法和小型数据库类型

https://www.npmjs.com/package/yaml-config

如果变量要针对不同的用户进行更改,请将其存储在针对用户 ID 的 JSON 文件中。 考虑 DiskDb JSON 文件,但可以用作查询。

你可以应用它来处理这样的变量:

process.live = true  ; 

然后你可以在系统中的任何位置访问它,但是如果你运行两个系统,你可以从另一个系统更改 process.live 值,因为进程对象保存

最新更新