我已经构建了我的第一个Node应用程序,我需要大量使用5-10个全局变量。问题是,我希望能够在不重新启动服务器的情况下更改这些值。
因此,我认为,设置一个间隔,并从( JSON?)更新这些文件。文件或通过对数据库的几个查询。
现在我在这里有什么更好的选择?在应用程序中使用mysql和read文件模块。
基于安全性的json文件不应该放在公用文件夹后面并从中读取吗?虽然没有sql注入是可能的,但我认为在DB中也应该相当安全。
你们觉得怎么样??还是Node JS的新手。
谢谢
发布于 2015-11-29 22:29:20
对于yamljs,开销是您需要安装它。从你的问题上看,你似乎已经在你的应用程序中使用了一堆第三方模块。
为什么不使用node.js本身的一部分呢?
使用fs模块。
示例:
var fs = require('fs');
var obj;
fs.readFile('myData.json', 'utf8', function (err, data) {
if (err) throw err;
obj = JSON.parse(data);
});博士:回调
发布于 2015-11-29 22:16:26
将配置变量传递给服务器的一种常见技术是通过YAML文件。通常,该文件在服务器启动时读取一次,但您可以定期查询它们的文件,以查看文件是何时更新的,以及如果文件被更改,则更新当前正在使用的配置变量。
YAML = require('yamljs');
config = YAML.load('myfile.yml');然后,您可以定期检查上次使用fs.stat的mtime属性修改文件的时间。
fs.stat(path, [callback])如果您发现上一次修改的时间已经更改,那么您可以重新读取YAML文件并用新的值更新配置。(您可能想做一次正常检查,以确保文件没有损坏等等)。
如果您不想自己编写文件,查看逻辑,我建议您签出乔基达尔
// Initialize watcher.
var watcher = chokidar.watch('myfile.yml', {
ignored: /[\/\\]\./,
persistent: true
});
// Add event listeners.
watcher.on('change', function(path) {
// Update config
})https://stackoverflow.com/questions/33988764
复制相似问题