首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点设置文件与mysql存储

节点设置文件与mysql存储
EN

Stack Overflow用户
提问于 2015-11-29 22:12:32
回答 2查看 38关注 0票数 1

我已经构建了我的第一个Node应用程序,我需要大量使用5-10个全局变量。问题是,我希望能够在不重新启动服务器的情况下更改这些值。

因此,我认为,设置一个间隔,并从( JSON?)更新这些文件。文件或通过对数据库的几个查询。

现在我在这里有什么更好的选择?在应用程序中使用mysql和read文件模块。

基于安全性的json文件不应该放在公用文件夹后面并从中读取吗?虽然没有sql注入是可能的,但我认为在DB中也应该相当安全。

你们觉得怎么样??还是Node JS的新手。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-29 22:29:20

对于yamljs,开销是您需要安装它。从你的问题上看,你似乎已经在你的应用程序中使用了一堆第三方模块。

为什么不使用node.js本身的一部分呢?

使用fs模块。

示例:

代码语言:javascript
复制
var fs = require('fs');
var obj;
fs.readFile('myData.json', 'utf8', function (err, data) {
  if (err) throw err;
  obj = JSON.parse(data);
});

博士:回调

票数 2
EN

Stack Overflow用户

发布于 2015-11-29 22:16:26

将配置变量传递给服务器的一种常见技术是通过YAML文件。通常,该文件在服务器启动时读取一次,但您可以定期查询它们的文件,以查看文件是何时更新的,以及如果文件被更改,则更新当前正在使用的配置变量。

雅默吉

代码语言:javascript
复制
YAML = require('yamljs');
config = YAML.load('myfile.yml');

然后,您可以定期检查上次使用fs.stat的mtime属性修改文件的时间。

代码语言:javascript
复制
fs.stat(path, [callback])

如果您发现上一次修改的时间已经更改,那么您可以重新读取YAML文件并用新的值更新配置。(您可能想做一次正常检查,以确保文件没有损坏等等)。

如果您不想自己编写文件,查看逻辑,我建议您签出乔基达尔

代码语言:javascript
复制
// Initialize watcher.
var watcher = chokidar.watch('myfile.yml', {
  ignored: /[\/\\]\./,
  persistent: true
});

// Add event listeners.
watcher.on('change', function(path) { 
    // Update config
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33988764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档