是否可以在NodeJ中“保存”变量值?

时间:2018-01-02 03:41:23

标签: javascript node.js mongodb express mongoose

我有一个网站,我希望客户能够通过设置var live = true;使其网站生效,然后设置网页显示是否为真。我不想将live变量保存在数据库中(仅用于此的集合没有意义)。有没有办法在NodeJS中为变量分配永久值?

4 个答案:

答案 0 :(得分:2)

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

LIVE=true node server.js 

然后从这个地方的应用程序访问它,

var live = process.env.LIVE

但是,我建议您使用特定于环境的配置文件。通过这样做,您可以根据执行环境(QA,DEV,STAGING,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;

答案 1 :(得分:0)

您无法准确保存它,但请从您的环境文件(或)环境变量中读取。与.env一样。

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

.ENV(本地):

LIVE=TRUE

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

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

var live = process.env.LIVE;

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

答案 2 :(得分:0)

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

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

您可以阅读这些值并写下这些值。它更快更好   安全的方法和你想要的小型数据库

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

答案 3 :(得分:0)

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