为什么这个简单的节点程序不打印当前目录的内容?

Dav*_* J. 0 javascript node.js

我有一个文件夹,里面有几个js文件:

admin$ ls

filterfiles.js  filterfiles.js~ program.js  program.js~
Run Code Online (Sandbox Code Playgroud)

program.js是一个节点程序,包含以下内容:

var dir = process.argv[2]

var fs = require('fs')
fs.readdir(dir, function(results){console.log(results)})
Run Code Online (Sandbox Code Playgroud)

当我执行以下操作时,为什么我得到null,而不是目录中的文件列表?

admin$ node program.js './' 
null
Run Code Online (Sandbox Code Playgroud)

Dia*_*are 5

回调的第一个参数fs.readdir是错误,结果在参数2中.这是节点回调的标准做法.

你要:

fs.readdir(dir, function(err,results){console.log(results)})
Run Code Online (Sandbox Code Playgroud)