Node.js脏是否可以重新加载脏数据库?

时间:2012-10-12 14:12:33

标签: javascript node.js node-dirty

如何让服务器在尝试从中获取内容时重新加载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'));
    }

1 个答案:

答案 0 :(得分:1)

您只需要调用现有实例的.Dirty(path)方法;如果查看源代码,您会看到有一个检查允许Dirty()用作实例方法或构造函数。