如何让服务器在尝试从中获取内容时重新加载Dirty数据库?因为当我使用文本编辑器编辑数据库文件并重新加载浏览器时,它不会更新页面。
“reloadDB();”是我想重新加载数据库的地方。 代码示例
http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
var html = db.get(pathname);
//Check if the requsted file is CSS or JS
if (/\.(css)$/.test(pathname) || /\.(js)$/.test(pathname)){
fs.createReadStream(__dirname + pathname, {
'bufferSize': 4 * 1024
}).pipe(response);
} else if (!!html && pathname !== '/admin' ) {
//Pages from our Dirty DB
response.writeHead(200, {'Content-Type': 'text/html'});
//reloadDB();
response.end(html);
} else if (pathname === '/admin') {
//Display Admin page
response.writeHead(200, {'Content-Type': 'text/html'});
response.end('Admin!');
} else {
//Show 404 Page
response.writeHead(404, {'Content-Type': 'text/html'});
//reloadDB();
response.end(db.get('404'));
}
答案 0 :(得分:1)
您只需要调用现有实例的.Dirty(path)
方法;如果查看源代码,您会看到有一个检查允许Dirty()
用作实例方法或构造函数。