我正在尝试使用Node.js获取目录中存在的所有文件的名称列表.我想要输出是一个文件名数组.我怎样才能做到这一点?
我是一个相当有经验的程序员,我刚刚发现了node.js. 我喜欢JavaScript,因为那是我开始的地方(Web开发)所以能够用它来编写服务器端代码是非常了不起的.
目前,我正在进行一个简单的练习,一个WebSocket/HTTP服务器,当我遇到一个轻微的烦恼时,我开始添加目录列表功能:当我列出某个目录中的目录和文件时,它们不在任何订购.我希望它们首先列出目录,然后按字母顺序列出文件(比如'ls'命令).我有一种感觉,因为它的异步,但我并不完全正面.任何帮助,将不胜感激.
顺便说一句,这是我的代码:
var sys = require("sys");
var ws = require('websocket-server');
var fs = require("fs");
var path = require("path");
var url = require("url");
function log(data){
sys.log("\033[0;32m"+data+"\033[0m");
}
var server = ws.createServer();
server.listen(3400);
log("Listening on 3400 for HTTP and WS");
server.addListener("request", function(request, response){
log("HTTP: Connected: " + request.connection.remoteAddress);
var uri = url.parse(request.url).pathname;
var filename = path.join("/home/brandon", uri);
log("HTTP: " + request.connection.remoteAddress + " Requested: " + filename);
path.exists(filename, function(exists) {
if(!exists) {
response.writeHead(404, {"Content-Type": "text/plain"});
response.write("404 Not Found\n");
log("HTTP: " …
Run Code Online (Sandbox Code Playgroud) 我有一个目录,其中包含一些我想在浏览器中查看的图像.
该目录位于我的服务器/ public/images上
内部/公共我还有其他目录,我不想公开,因此使整个/公共目录可见不是解决方案.
如何使用connect目录中间件使我的/ public/images可浏览?
使用此处描述的解决方案使所有内容都可以在/ public中查看,并且尝试以下操作不起作用:
app.use(exp.static(__dirname + '/public'));
app.use(exp.static(__dirname + '/public/images'));
app.use(exp.directory(__dirname + '/public/images'));
Run Code Online (Sandbox Code Playgroud)
谢谢