无重启刷新 module 的 reload 模块
如果你在烦恼 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 还请有兴趣的朋友帮忙测试一下。