【问题标题】:how to display 2 directory lists side by side in node.js express如何在node.js express中并排显示2个目录列表
【发布时间】:2013-01-08 12:27:07
【问题描述】:

场景: 客户端可以上传到2个目录

想要的结果: 客户端可以并排查看两个目录的列表

我是这些的新手。

  1. 几个用于显示目录列表的 jquery 列表框小部件
  2. 新条目是否可以自动显示或仅限于点击“刷新”按钮的客户?

这可行/可能吗?

npm 中是否有已经完成上述部分功能的包?

感谢任何/所有意见/想法。

【问题讨论】:

    标签: jquery node.js express pug stylus


    【解决方案1】:

    听起来您只需一点点 HTML/CSS 就可以完成所有您想做的事情。以最简单的形式做这样的事情。

    var fs = require('fs');
    
    app.get('/foo', function(req, res){
    
        fs.readdir('dir1', function(error, result){
    
            res.write('<div class="bar">');
            res.write('<ul>');
            //write out all of the files as list
            res.write('</div>');
            fs.readdir('dir2', function(error, result){
                res.write('<div class="bar">');
                res.write('<ul>');
                //write out all of the files as lis
                res.write('</div>');
                res.end();
            });
        });
    });
    

    然后,在客户端,制定一个 css 规则

     .bar{
         float: left;
     }
    

    假设它们都在一个相对的包装 div 中,这会将它们都拉到左边。您可以从那里尽可能多地使用 jquery/css 对其进行修饰。每次有请求时(即刷新时),这将更新他们两个。如果您希望它实时发生,请查看 Socket.io 或其他一些 websocket 工具。

    【讨论】:

    • 没问题。另外,请记住 node.js 是一种服务器端技术,所以如果你的问题是“我如何以某种方式显示 x”,答案可能不是“在节点中做一些不同的事情”,而是“做一些不同的事情”用你的 html/css/frontend js"
    • 您可以使用async.parallel() github.com/caolan/async 并行运行那些 fs.readdir()