node的watchFile()问题

时间:2012-12-16 11:21:23

标签: node.js

Q1。我有以下代码。但是当我更改并保存config1.json时,它输出初始配置:,不输出新配置。我在这做错了什么?

var fs = require("fs");
console.log("Started");
var config = JSON.parse(fs.readFileSync("./files/config1.json"));
console.log("Initial config: ", config);

fs.watchFile("./files/config1.json", function(current, previous){
    console.log("Config changed");
    config = JSON.parse(fs.readFileSync("./files/config1.json"));
    console.log("New config file: ", config);
});

以上输出如下。

node watch.js
Started
Initial config:  { username: 'ollie',
  api_key: 'parsley',
  name: 'Ollie Parsley',
  version: 112 }

Q2。由于它在终端观看,我无法退出或退出。如何从终端上面的代码退出?

提前致谢。

1 个答案:

答案 0 :(得分:0)

Q1。我发现如果我使用curr和prev,它就可以了。

var fs = require("fs");
console.log("Started");
var config = JSON.parse(fs.readFileSync("./files/config1.json"));
console.log("Initial config: ", config);

fs.watchFile("./files/config1.json", function(curr, prev){
    console.log("Config changed");
    config = JSON.parse(fs.readFileSync("./files/config1.json"));
    console.log("New config file: ", config);
});

Q2。 Control + c将停止正在运行的代码。