我有一个网站,我希望客户能够通过设置var live = true;
使其网站生效,然后设置网页显示是否为真。我不想将live
变量保存在数据库中(仅用于此的集合没有意义)。有没有办法在NodeJS中为变量分配永久值?
答案 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/
。
然后import
或require
配置文件类似于您需要.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
您可以阅读这些值并写下这些值。它更快更好 安全的方法和你想要的小型数据库
答案 3 :(得分:0)
如果变量将针对不同用户进行更改,则将其存储在针对用户ID的JSON文件中。考虑DiskDb JSON文件,但可以用作查询。