我怎样才能让我的nodejs文件识别,当一个json文件发生了变化?



我正在研究一个nodejs程序,在程序中,我需要能够检查JSON文件内的变量,该文件将通过不同的程序切换。我开始在if语句上工作来弄清楚它,我很快发现nodejs不喜欢它,当我在代码运行后切换变量时。我运行的代码看起来有点像这样:

"wait for event"{
"code once event happens"
var jsonfile = require('./jsonfile.json')
console.log(jsonfile.variable)}
我将触发事件,手动更改json,然后再次触发它输出如下所示
true
true

意味着它不会读取json文件后,我改变它

我试着强迫它're require' JSON文件在上面的代码,但没有工作,我试着运行它在一个新的nodejs脚本,看看它是否因为一个语句,它可能是内部的代码看起来像这样

while (true){
var file = require('file.json')
console.log(file.variable)}

i将改变变量,输出将继续输出truefalse

不工作

Geshode写了一条评论说:Instead of using require, have you tried reading the json file with the native file system, like fs.readFile? Or a library like fs-extra?

工作我把它作为答案,这样别人就能看到,这里有一些代码示例

读取json文件:

fs.readFile('pathtojson', 'utf8', function(err, data){
let student = JSON.parse(data);
// Display the file content
console.log(student.avariableinfile);
})

如果编辑正确,应该在json文件中输出一个变量

在不设置为json对象的情况下读取

fs.readFile('pathtofile', 'utf8', function(err, data){
// Display the file content
console.log(data);
});

注意:这些样本之间的唯一区别是第二个不使它成为一个json文件,它会做同样的事情,如果你把console.log(data)中的data替换为student.varable,并在上面添加JSON.parse(data)

相关内容

  • 没有找到相关文章

最新更新