无重启刷新 module 的 reload 模块
发布于 10 年前 作者 lellansin 5982 次浏览 最后一次编辑是 8 年前 来自 分享

如果你在烦恼 node.js 中 require 的缓存问题, 更新文件后总是要重启一遍才能生效. 那么现在你可以使用 auto-reload 来解决这个问题. 更新配置表或者文件不用重启服务器了, 定义好一个时间, 加载的模块可以再规定时间自动重启. 如果你在服务端为你的应用使用配置文件, 你也可以设置 1天重启一次配置表, 这样改完服务器配置之后在指定的时间会自动生效, 不用重启服务器了. 安装

npm install auto-reload

示例

data.json

{ "name" : "Alan" }

test.js

var fs = require('fs');
var reload = require('auto-reload');
var data = reload('./data', 3000); // 每 3秒重新加载一次

// 每秒输出一次 data.json
setInterval(function() {
    console.log(data);
}, 1000);

// 每 3 秒更新一次 data.json 文件
setInterval(function() {
    var data = '{ "name":"' + Math.random() + '" }';
    fs.writeFile('./data.json', data);
}, 3000);

输出:

{ name: 'Alan' }
{ name: 'Alan' }
{ name: 'Alan' }
{ name: 'Alan' }
{ name: 'Alan' }
{ name: '0.8272748321760446' }
{ name: '0.8272748321760446' }
{ name: '0.8272748321760446' }
{ name: '0.07935990858823061' }
{ name: '0.07935990858823061' }
{ name: '0.07935990858823061' }
{ name: '0.20851597073487937' }
{ name: '0.20851597073487937' }
{ name: '0.20851597073487937' }

Github: https://github.com/Lellansin/node-reload 还请有兴趣的朋友帮忙测试一下。

回到顶部